| 라이브러리 | 설명 | 주요 기능 | 설치 방법 | 난이도 |
|---|---|---|---|---|
| Requests | HTTP 요청을 보내고 HTML 소스를 가져오는 라이브러리 | GET/POST 요청, 응답 처리, JSON 처리, 세션 관리 | pip install requests | 초급자 |
| Selenium | 웹 브라우저 자동화 및 동적 웹 페이지 크롤링 | 웹 브라우저 자동화, 동적 페이지 크롤링, 다양한 브라우저 지원 | pip install selenium | 중급자 |
| lxml | 빠르고 효율적인 HTML/XML 파싱 라이브러리 | XML/HTML 파싱, XPath, XSLT 지원 | pip install lxml | 중급자 |
| Scrapy | 대규모 크롤링 및 스크래핑 프레임워크 | 크롤링, 데이터 추출, 비동기 작업 처리 | pip install scrapy | 중급자 |
| Puppeteer (Pyppeteer) | JavaScript 페이지 자동화 도구 | Headless Chrome 사용, 동적 페이지 크롤링, 스크린샷/PDF 생성 | pip install pyppeteer | 중급자 |
| PyQuery | jQuery 스타일의 HTML/XML 파싱 라이브러리 | jQuery 스타일로 요소 선택, CSS 선택자 지원 | pip install pyquery | 초급자 |
| Pandas | 데이터 분석 및 HTML 테이블 처리 라이브러리 | HTML 테이블을 DataFrame으로 불러오기, 데이터 분석 | pip install pandas | 초급자 |
| XPath | XML/HTML 요소를 효율적으로 선택하는 언어 | 복잡한 문서 구조에서 효율적인 요소 선택, XML/HTML 데이터 추출 | lxml 설치 시 자동 사용 | 중급자 |
| Requests-HTML | JavaScript 렌더링 페이지 크롤링 라이브러리 | JavaScript 렌더링, 크롤링 및 HTML 파싱 | pip install requests-html | 중급자 |
초급자: 기본적인 사용법이 직관적이고, 문서화가 잘 되어 있어 쉽게 시작할 수 있습니다. 예를 들어 Requests, PyQuery, Pandas 등이 이에 해당합니다.
중급자: 기능이 더 복잡하거나, 동적 페이지를 크롤링하거나, 고급 기능을 사용할 때 익숙해져야 합니다. 예를 들어 Selenium, lxml, Scrapy, Puppeteer 등이 이에 해당합니다.
초급자: 웹 페이지에서 간단히 데이터를 가져오는 작업을 하고자 한다면 Requests나 PyQuery를 사용해 보세요.
중급자: 더 복잡하거나 동적 웹 페이지를 크롤링하고 싶다면 Selenium, Scrapy, Puppeteer 등을 고려해보세요.