1. 웹스크래핑과 웹크롤링
정보를 수집하기 위한 목적을 가진 두 방법론
1) 웹 크롤링(web crawling)
- 자동화 봇(웹 크롤러)이 웹을 돌아다니면서 정보를 수집하는 것이다.
- 크롤러란 조직적, 자동화된 방법으로 월드와이드 웹을 탐색하는 컴퓨터 프로그램이다.
- 크롤링은 크롤러가 하는 작업을 부르는 말로, 여러 인터넷 사이트의 페이지(문서, html 등)를 수집해서 분류하는 것이다.
- 대체로 찾아낸 데이터를 저장한 후 쉽게 찾을 수 있게 인덱싱하며, 인터넷 상의 사이트를 인덱싱하는 목적을 가지고 있다.
2) 웹 스크래핑(web scraping)
- 원하는 특정한 정보를 웹에서 추출하는 것이다.
- HTTP를 통해 웹 사이트의 내용을 긁어다 원하는 형태로 가공하는 것으로 크롤링도 스크래핑에 포함된다고 보는 견해도 있다.
3) 두 가지의 차이점
- 스크래퍼 봇은 웹 크롤러 봇과 다르게 동작한다.
- 크롤러는 자신의 목적을 표시하며, 웹사이트가 자신을 다른 것으로 생각하도록 속이려 하지 않는데 비해, 스크래퍼 봇은 웹 브라우저인 것처럼 가장한다.
- 스크래퍼 봇은 양식 작성 같은 고급 작업을 하거나 웹사이트의 특정 부분에 도달하기 위한 행동을 수행하는 경우가 있다. 크롤러는 그렇게 하지 않는다.
- 스크래퍼는, 웹 크롤러에게 어떤 데이터를 분석하고 사이트의 어떤 영역은 피하라고 말하기 위해 특별히 설계된 정보가 담긴 텍스트 파일인 robots.txt 파일을 무시하는 것이 일반적이다.
- 스크래퍼는 특정 콘텐츠를 가져오도록 설계되었으므로, 무시하도록 명시된 콘텐츠를 가져오도록 설계되는 경우가 있다.
- 웹 크롤링은 여러 웹페이지를 기계적으로 탐색하는 것이고 웹 스크래핑은 특정한 하나의 웹 페이지를 탐색하고 원하는 데이터를 추출하는 것이다.
2. 주의사항
웹스크래핑은 자칫 분쟁의 소재가 될 수 있다. 아래의 사항을 잘 확인하고 실습을 진행하자.
1) 저작권에 문제가 없는가?
2) 네트워크에 무리하게 요청을 하지는 않았는가? (서버 다운 이슈, time.sleep 사용 권고)
3) 로봇 배제 표준(robots.txt) 확인 및 준수 권장
※ 로봇 배제 표준 확인법: ##(사이트 url) /robot.txt 입력 → txt파일이 다운로드 된다.
- User-agent: *
- Disallow: /
- Allow: /$
'Python > 개념정리' 카테고리의 다른 글
[python] 11. 상대경로와 절대경로 (0) | 2022.11.08 |
---|---|
[Python] 9. 웹스크래핑 (3) - read_html(), trange, time.sleep() (0) | 2022.10.30 |
[Python] 5. EDA(2) - 직접구하기(수치형 데이터) (0) | 2022.10.26 |
[Python] 4. EDA(1) - pandas profiling, sweetviz, autoviz (0) | 2022.10.26 |
[Python] 3. 함수 (0) | 2022.10.26 |
댓글