데이터 수집을 할 때 사용하는 기법 중 대표적인 것으로 "크롤링"이 있죠!
그리고 이 크롤링은 일반적으로 파이썬으로 수행하게 되는데요,
이는 파이썬에 크롤링을 돕는 라이브러리들이 잘 구축되어 있기 때문입니다!
그렇다면 파이썬의 크롤링 라이브러리에는 어떤 것들이 있고, 어떤 역할을 하는지 살펴보겠습니다!
📌 크롤링 라이브러리
라이브러리 | 설명 |
Requests | - 정적 수집도구 - 단순한 형태의 문법, 인코딩 확인, 헤더 파악, 텍스트 전환이 용이하고, 딕셔너리 형태로 데이터 전송 |
Urllib | - 정적 수집도구 - 데이터를 바이너리 형태로 인코딩하여 데이터 전송 |
Selenium | - 동적 수집도구 - 웹 브라우저 드라이버 설치 필요, 동적인 여러가지 상호작용으로 데이터 수집 |
BeautifulSoup | - 본문 파싱을 위한 도구 - HTML 문법으로 작성된 문서를 파싱하여 필요한 부분의 태그를 기준으로 데이터 추출 및 정제 |
BeautifulSoup
주 역할 : HTML 문서 파싱
- HTML 문서를 단순한 파이썬 객체처럼 다룰 수 있어 직관적이고 사용이 간편
- 파이썬 내장 파서(html.parser), lxml, html5lib 등 다양한 HTML 파서를 지원하여 성능과 호환성 선택 가능
- CSS 선택자, 태그, 속성 등 다양한 방식으로 데이터를 선택할 수 있어 복잡한 웹 페이지에서도 유용
Requests, Urllib : 정적 수집 도구
특징 | Requests | Urllib |
라이브러리 종류 | 외부 라이브러리 (설치 필요) | Python 표준 라이브러리 (추가 설치 불필요) |
데이터 전송 방식 | 자동 디코딩 (텍스트 데이터) | 바이너리 형식으로 전송 및 수신 (디코딩 필요) |
가독성 / 편의성 | 코드가 직관적이고 요청과 응답 처리가 간단하며 가독성이 높음 | Urlopen()을 포함한 다소 복잡한 접근 방식 |
사용 용도 | 복잡한 웹 요청 및 데이터 추출 작업 | 단순 HTTP 요청이나 가벼운 스크립트 |
Selenium : 동적 수집 도구
- 웹 애플리케이션의 테스트를 자동화할 수 있도록 설계된 오픈 소스 프레임워크
- 다양한 브라우저(Chrome, Firefox, Edge, Safari 등)를 지원하며, 여러 프로그래밍 언어로 제어 가능
- 웹 사이트가 자바스크립트로 동적 컨텐츠를 로드하는 경우, Selenium을 통해 브라우저를 직접 제어하여 동적 페이지의 콘텐츠도 스크래핑 가능
'Study > Data Science' 카테고리의 다른 글
[Data Science] 결측 데이터 처리 방법 (3) | 2024.12.06 |
---|---|
[Data Science] 이상치(Outlier) 탐지 방법 (1) | 2024.12.05 |
[Data Science] 데이터의 편향 완화 전략 : 데이터 균형화 (오버샘플링 & 언더샘플링) (0) | 2024.12.05 |
[Data Science] 데이터의 품질 측정 (0) | 2024.12.05 |