[개발자기초지식] 크롤링용어와 robot 간단소개

#크롤링, 스크래핑, 파싱

  • 스크래핑(Scraping): HTTP를 이용하여 웹 사이트의 데이터를 수집, 가공하는 행위
  • 크롤링(Crawling): 스크래핑의 일종, 특정 웹 페이지에 대한 데이터를 추출해 내는 행위
  • 파싱(parsing): 어떤 페이지에서 원하는 데이터를 가공하는 행위(토큰 분해, 트리생성)

연관 키워드: 스파이더(spider), 봇(bot), 지능 에이전트

 

 

#어떻게 크롤링을 하는가

  • 사용하는 언어: (주로)Python
    사용하는 Python 라이브러리: beautifulsoup, selenium

연관 키워드: webdriver(headless), httrck, wget-curl, WebZip

 

 

#무엇이 문제인가

형법상 크롤링에 대해 명시적으로 언급하지는 않으나, 사이트의 데이터를 수집하고 가공하는 행위에서 정보보안 문제와 저작권문제가 발생합니다.

 

  • 보안문제: 정보통신망법 제 48조 제 1항 위반
    다음의 내용을 위반할 수 있으므로, 크롤링 행위에 경각심을 가져야 합니다.
    '정당한 접근권한이 없거나 허용된 접근권한을 넘어 정보통신망에 침하는 행위는 금함'
  • 저작권법 제 93조 제 1항 침해
    저작권법에 데이터베이스 제작자의 구너리를 명시적으로 보호하고 있으며 데이터의 재산적 가치를 인정하고 있습니다. 따라서 크롤링을 통한 복제행위는 저작권법 위반의 가능성을 고려 해야합니다.

연관 키워드: 로봇배제표준, 'robots.txt'

 

 

#로봇배제표준, 'robots.txt'

  • 로봇배제표준: 구글에서 로봇의 접근(크롤링)을 방지하기 위한 권고안. 접근 제한에 대한 설명을 robots.txt에 작성

서비스제공자가 'robots.txt'파일을 웹 사이트에 등록 시, 구글의 크롤러가 해당 내용에 따라 허용된 정보만을 크롤링하도록 합니다. 이는 서비스제공자-크롤러이용자 간의 데이터 수집에 대한 좋은 안내서가 되어줍니다. 그러나 'robot.txt'의 작성은 의무가 아니므로, robot 문서의 유무를 따짐으로써 데이터의 접근가능범위를 함부로 판단해서는 안 됩니다.

 

연관 키워드: HTML의 meta태그

 

 

#'robots.txt' 작성법

행위:대상 코드
문서 접근 허용: 모든 로봇 User-agent: *
Allow: /
차단: 모든 로봇 User-agent: *
Disallow: /
새 디렉토리 접근 차단: 모든 로봇 User-agent: *
Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /junk/
특정 파일 접근 차단: 모든 로봇 User-agent: *
Disallow: /directory/file.html
모든 파일 접근 차단: BadBot User-agent: BadBot
Disallow: /
특정 디렉토리 차단: BadBot, GoogleBot User-agent: BadBot
User-agent: Googlebot
Disallow: /private/
응용 User-agent: googlebot        # googlebot 로봇만 적용
Disallow: /private/          # 이 디렉토리를 접근 차단한다.

User-agent: googlebot-news   # googlebot-news 로봇만 적용
Disallow: /                  # 모든 디렉토리를 접근 차단한다.

User-agent: *                # 모든 로봇 적용
Disallow: /something/        # 이 디렉토리를 접근 차단한다.

 

 

 

 

더보기