반응형
웹 크롤링 vs 웹 스크랩핑(feat. puppeteer vs Selenium)
주저리~
이전에 크롤링 관련해 Selenium & NodeJS 관련 글을 쓴적이있다.
https://ppoble.tistory.com/17?category=1262711
크롤링은 Selenium이 유명해서 Selenium이 짱이지! 라는 생각이 베이스에 깔려있어 Selenium & NodeJS의 구글 이미지 크롤링만 찾아보다가 못찾았었는데 추후에 다른 공부를 하다가 괜찮은 라이브러리를 발견해서 정리해 놓았다.
크롤링
크롤링이란 도서관에서 책을 찾는 개념.(크롤링을 연구하신 분이 구글을 개발함.)
셀레니움을 이용한 구글 크롤링? 엄밀히 따지면 웹 스크래핑이나 크롤링이라고 불린다.
크롤링전에 robots.txt 확인하기!
- 1세대 크롤링 모듈
- Axios(http 요청을 보냄) + Cheerio(html dom parser)
- 2세대 크롤링 모듈
- Selenium(파이썬에 최적화되어 있음)
- beautifulsoup
- scrapy
- 3세대 크롤링 모듈
- Puppeteer
- Node.js를 통해 크롬 브라우저를 실행
- 사용자가 원하는 뷰포트, 네트워크 환경 등 설정 가능
- 마우스, 키보드, 터치 스크린 등을 코드를 통해 사람이 사용하는 것처럼 구현 가능
- 타임라인 트레이싱, 스크린샷, PDF다운로드, 확장프로그램 테스트, 작업 자동화 등 사용가능
- SPA 크롤링과 pre-rendered content 생성이 가능.
- Puppeteer
여기서 Puppeteer 라이브러리!! 이건 구글 크롬 개발팀에서 개발한 NodeJS 라이브러리다...
Puppeteer vs Selenium
Puppeteer는 Selenium이 못하는 브라우저 상의 콘솔 로그, Network응답, 실패 등도 모니터링이 가능하다!!
Puppeteer는 nodejs만 지원하나 Selenium은 다양한 언어를 지원한다!
결론! 많은 기능이 필요하면 Puppeteer, 다양한 언어 지원이 필요하면 Selenium을 쓰는게 좋아보인다.
반응형
'[NodeJS]' 카테고리의 다른 글
JS Nullish Coalescing, Optional Chaining (0) | 2022.09.27 |
---|---|
Npm 서버에 나만의 패키지 Publish (0) | 2022.03.28 |
NodeJS & Selenium으로 구글 이미지 크롤링 (2) | 2022.02.22 |