
웹 크롤링(Web Crawling)?
- 웹 상에 존재하는 컨텐츠를 수집하는 작업을 의미
- 크롤링하는 소프트웨어를 크롤러(Crawler)라고 부름
크롤링 vs 파싱 vs 스크래핑
- 크롤링 : 여러 인터넷 사이트의 페이지를 수집해서 분류하고, 저장한 후 인덱싱하는 것
- 파싱 : 어떤 페이지에서 내가 원하는 데이터를 특정 패턴이나 순서로 추출하여 정보를 가공하는 것
- 스크래핑 : HTTP를 통해 웹 사이트의 내용을 긁어다 원하는 형태로 가공하는 모든 과정(크롤링도 스크래핑 방법 중 하나)
파이썬 크롤링 관련 패키지
- urllib
- 파이썬에서 기본적으로 제공해주는 라이브러리로, 설치가 따로 필요 없음
- requests
- html 문서를 가져올 때 사용하는 패키지
- 파이썬 기본 라이브러리에 포함된 urllib 패키지보다 편리
- beautifulSoup
- html의 태그 정보를 이용해서 필요한 정보만 추출할 때 유용한 패키지
- css selector를 이용하여 특정 요소에 접근, 추출할 수 있음
- selenium
- 무언가를 입력하거나 클릭하는 웹페이지 내 비동기적 컨텐츠를 추출할 때 사용되는 패키지
- 구글 크롬, 파이어폭스 등의 웹드라이버를 이용
- 속도가 다소 느리므로, 코드 구현시 셀레니움 사용을 최소화하는 것이 중요