웹 크롤링이랑 웹 스크래핑... 다른거임?
네. 다릅니다.
크롤링은 '기어 다니다' 라는 뜻을 가졌죠. 웹 크롤링은 URL을 탐색해 반복적으로 링크를 찾고 가져오는 과정을 말합니다.
반면 웹 스크래핑은 특정한 웹 페이지에서 데이터를 추출하는 것입니다.
예를 들어 원하는 주제의 뉴스만을 추출하거나, 어떤 상품의 가격 비교를 하는 것 모두 웹 스크래핑입니다.
스크래핑을 하고자 하는 특정 웹 사이트가 있고 그곳에서 필요한 정보만 가져옵니다.
둘은 엄연히 다르다는 점을 잊지 맙시다!
데이터 가져오는 거 불법 아님? 데이터 마음대로 가져와도 됨?
결론부터 말하자면 데이터를 스크래핑 하는 것 그 자체는 불법이 아닙니다.
하지만 각 웹사이트마다 데이터 관리 목적에 따라 접근을 막아놓은 페이지도 있습니다.
알아보려면 웹페이지 url 뒤에 /robots.txt를 붙여보면 됩니다. 이것을 로봇 배제 표준이라고 합니다.
누구에게 페이지의 접근 권한을 허락하며, 금지하는지에 대한 정보가 텍스트 파일에 기록돼 있습니다.
이것은 권고안이지만 가능하면 따르는게 좋습니다.
금지된 웹페이지에 빈번하게 접근하면 웹서버를 공격하는 행위로 간주될 수 있습니다. (조심합시다!)
예를 들어 티스토리를 살펴봅시다.
User-agent: *
Disallow: /m
Disallow: /login
Disallow: /gateway
Allow: /
User-agent는 누구에게 규칙이 적용될 지를 지정하며 *는 모든 봇에 대해 규칙이 적용됨을 의미합니다. Disallow는 금지할 페이지를 지정합니다. Allow는 크롤링을 허용할 웹페이지를 지정하며 /는 전체 웹 페이지를 가리킵니다. 티스토리는 기본적으로 웹 크롤링은 허용하고 일부 페이지만 금지하고 있습니다.
그럼 허용된 웹 페이지의 데이터는 마음대로 스크래핑 해도 되느냐?
됩니다.
데이터를 수집하는 과정과 수집한 결과물의 활용 여부에 따라 법적 문제가 발생할 수 있습니다.
그렇기 때문에 다음과 같은 주의사항을 꼭 잊지 말아야 합니다
1. 스크래핑은 웹 서버에 무리가 가지 않게 적당한 수준에서 진행해야 합니다. DDos (분산 서비스 거부) 공격으로 간주될 수도 있기 때문입니다. 참고로 웹 스크래퍼 만들기 프로젝트에서도 너무 많은 양의 요청을 보내지 않도록 신경쓰고 있습니다. 이 문제를 피하려면 time.sleep 을 이용하는 방법도 있습니다.
2. 스크래핑 한 데이터의 저작권에 주의해야 합니다. 이를 상업적으로 이용하거나 게시하는 순간 권리를 침해하게 됩니다. 최근 스크래핑 관련 소송이 실제로 있었습니다.
관련기사:
https://biz.chosun.com/site/data/html_dir/2020/09/23/2020092300325.html
https://zdnet.co.kr/view/?no=20220510110528
'💻dev > 🐍Python' 카테고리의 다른 글
Python | 파이썬 웹 스크래퍼 만들기 - 04 (0) | 2023.03.09 |
---|---|
Python | 파이썬 웹 스크래퍼 만들기 - 03 (0) | 2023.03.05 |
Python | 파이썬 웹 스크래퍼 만들기 - 02 (0) | 2023.03.04 |
Python | 파이썬 웹 스크래퍼 만들기 - 01 (0) | 2023.03.04 |
Python | 파이썬 기초 문법 (0) | 2023.03.02 |