본문 바로가기

기타

크롤링

크롤링(crawling) 이란?

  • Web상에 존재하는 Contents를 수집하는 작업
  • 크롤링 방법
    1. HTML 페이지를 가져와서, HTML/CSS등을 파싱하고, 필요한 데이터만 추출하는 기법
    2. Selenium등 브라우저를 프로그래밍으로 조작해서, 필요한 데이터만 추출하는 기법
    3. **Open API(Rest API)**를 제공하는 서비스에 Open API를 호출해서, 받은 데이터 중 필요한 데이터만 추출하는 기법 → Closed API는 무단으로 사용하면 안되겠죠?ㅎㅎ 그런데 보안적인 허점이 많아보여요.. 그 단적인 예시를 보여주었을뿐..절대 권장하는게 아닙니다! 자제적으로 크롤링을 막고자한다면 API의 보안수준을 높이려는 노력도 필요하다고 생각합니다. Open API같은 Closed API가 너무 많아요.. 물건을 훔쳐간사람은 당연히 잘못한것이지만, 문단속을 안한것도 문제가 있다는 생각.
    4. 수작업으로 데이터를 수집..

크롤링과 스크래핑의 차이

  • web crawling : 화면에 있는 data를 실시간으로 자동화하여 가져오는 것
  • web scrapping : scrapping 하는 시점에서의 데이터만 갖고오는것. 실시간 자동화가 아니다.

robots.txt

  • 크롤링에 대한 사이트 정책
  • 크롤러가 요청할수있는 경로, 접근하면 안되는 경로등을 설정
  • 통상 웹사이트들은 접근 조건을 명시하지 않았다면 “검색엔진의 크롤링”에 암묵적으로 동의하는것이다.
  • 구조
  • User-agent: robots.txt 에서 지정하는 크롤링 규칙이 적용되어야 할 크롤러를 지정 Allow: 크롤링을 허용할 경로 (/ 부터의 상대 경로). Disallow: 크롤링을 제한할 경로 (/ 부터의 상대 경로). Sitemap: 사이트맵이 위치한 경로의 전체 URL (https:// 부터 /sitemap.xml 까지의 전체 절대경로 URL).
  • User-agent 이름
  • 구글: Googlebot 네이버: Yeti 다음: Daum : Bingbot 덕덕고: DuckDuckBot

크롤링의 윤리적인 (또는 법적인) 문제

  • 웹 크롤링이라는 행위 자체는 불법이 아니다.
  • 크롤링으로 수집한 데이터로 이익을 취하면 문제가 될 수 있다.
  • 비상업적인 용도여도 원작자에게 불이익을 주면 문제가 될 수 있다.
  • 크롤러를 활용해 고의적으로 Abusing 하면 불법(네이버 검색 순위 조작, 음원 순위 조작 등)
  • 각 웹 사이트마다 크롤링 자체를 허용하는 정도가 다를것이다. 해당 사이트 약관을 보면 나와있기도 하다. 그럼에도 기준이 모호해보인다.
    • ex: 네이버 약관
      1. 크롤링에서 다량의 데이터를 뽑아오며 서버의 부하나 장애를 주어 타인의 서비스 이용의 해를 가한 경우 또한 불법입니다.
      1. 크롤링 한 데이터를 통해 타인에게 서비스를 제공하는 경우, 이익 도모 행위는 불법입니다.

크롤링 판결 사례

국내

  • 사용자들에게 이미 공개된 정보를 크롤링하여 보여주는것은 위법이 아니라고 판결이 났다.
  • 하지만 크롤링한 정보를 DB화 하여 저장하는 것은 위법에 해당한다 판례가 있다.
  • 크롤링은 해도 되지만 저장하게되면 저작권 위반이다는 뜻. (유사, 무단 전재 및 복제 금지)

해외

  • 美 항소법원: "인터넷 공개 정보, 자동 스크래핑은 합법"

크롤링 다툼 사례

2008년: 사람인 vs 잡코리아

  • 국내 대표 채용정보 플랫폼 간 채용 공고 크롤링
  • 사람인에서 2008년 잡코리아의 채용 정보를 크롤링해서 사람인 웹사이트에 게재한 사건
  • 쟁점 : 잡코리아가 보유한 채용 정보가 데이터베이스 보호 대상인지 여부
  • 10년간 진행된 법적 다툼에서 잡코리아가 최종 승소
  • 사람인이 120억원 지급하는 것으로 합의, 사람인은 크롤링 중지

2016년: 여기어때 vs 야놀자

  • 국내 대표 숙박 정보 플랫폼 간 업체 정보 크롤링
  • 여기어때가 야놀자의 숙박업체 정보를 수집하는 크롤링 프로그램 개발 → 여기어때가 야놀자 제휴 숙박업소 정보를 크롤링을 이용해 빼돌린 혐의
  • 야놀자 제휴 숙박업소명이나 주소와 이용·할인 가격, 입·퇴실 시간 등 영업 관련 정보를 264회 무단 복제한 혐의(저작권법상 데이터베이스제작자의 권리 침해)
  • 쟁점 : 야놀자 서버에 접속한 것이 정보통신망 침입에 해당하는지 여부와 컴퓨터 등 업무방해와 저작권 위반 협의인가?
    • 1심 : 여기어때의 크롤링 사용을 유죄로 판결 (대표에게 징역 1년 2개월, 집행유예 2년 선고)
    • 2심 : 크롤링을 통해 가져 간 정보가 공개된 정보로 무죄라고 판결
      • "피해자 회사가 적극적으로 공개하지는 않았으나 URL 주소는 모바일 앱에 나타나지 않을 뿐 이를 의도적으로 비공개하거나 숨긴 것으로 보이지는 않는다"며 "피고인들이 크롤링을 통해 가져간 정보들 대부분은 이용자들에게 공개한 정보들”이라고 설명
      • 이에 따라 "피고인들이 이 사건 모바일 앱을 통하지 않고 URL을 통해 서버에 접속했다거나 크롤링을 하고, 앱에서 제공하지 않는 명령어를 확장해 정보를 수집했다는 사정만으로 피고인들이 접근 권한이 없거나 그 권한을 넘어서 정보통신망에 침해했다고 볼 수 없다"고 판단
    • 대법원 판결 : 야놀자 정보는 대부분이 이용자에게 공개된 것이며 이미 알려진 정보로 데이터베이스의 통상적인 이용을 방해하거나 회사 이익을 부당하게 해친 경우에 해당하지 않는다. → 최종 무죄 판결
  • 형사: 무죄, 민사: 10억 배상

해외: 링크드인 vs 하이큐랩스

  • 비즈니스 SNS인 링크드인과 기업지원 스타트업인 하이큐랩스가 공개된 데이터 크롤링 관련 소송
  • 링크드인에 공개된 프로필 정보를 하이큐랩스가 크롤링해감.
  • 미국 항소법원 : 사용자의 공개 프로필에서 개인 정보를 수집한 것은 합법 판단.

해외: 리그베다위키 vs 엔하위키미러

  • 여러 사람이 함께 만드는 위키 사이트 사이에서 DB 크롤링 분쟁
  • 서브컬처 위키인 리그베다위키를 엔하위키미러가 크롤링을 이용해 콘텐츠를 복제
  • 쟁점 : 이용자가 만든 콘텐츠를 데이터베이스화 한것도 보호 대상인가?
  • 판결 : 무단으로 크롤링해 콘텐츠를 복제 및 게재하는 것은 위법