Notice
Recent Posts
Recent Comments
Link
개발일기
셀레니움(Selenium)과 뷰티풀 수프(Beautiful Soup) 차이 본문
개요
카카오맵 데이터 크롤링을 위해 열심히 구글링을 하는 중에 셀레니움(Selenium)과 뷰티풀 수프(Beautiful Soup)를 사용하는 사람들이 많았다. 근데 누구는 셀레니움(Selenium)만을 사용해서 크롤링을 진행했고, 누구는 뷰티풀 수프(Beautiful Soup)를 같이 사용해서 크롤링을 진행했다. 그래서 알아보기로 했다. 두개의 차이점이 뭔지.
뷰티풀 수프(Beautiful Soup)
주요 특징은 무엇인가?
- BeautifulSoup은 HTML과 XML 파일을 구문 분석하고 탐색하기 위한 라이브러리이다.
- 주로 정적인 웹 페이지에서 HTML 콘텐츠를 파싱하여 데이터를 추출하는 데 사용된다.
- 사용하기 쉽고, 파싱 로직을 작성하는데 적합하다.
- 상대적으로 가벼워서 정적인 HTML 콘텐츠를 빠르게 처리할 수 있다.
어디에 주로 사용하는가?
- 정적인 HTML 페이지에서 특정 데이터(예: 기사 제목, 제품 정보 등)를 추출할 때 유용하다.
- JavaScript로 동적 콘텐츠를 로드하지 않는 웹 페이지에 적합하다.
셀레니움(Selenium)
주요 특징은 무엇인가?
- Selenium은 실제 브라우저(예: Chrome, Firefox)를 자동화하여 웹 페이지와 상호작용할 수 있다.
- JavaScript로 동적으로 로드되는 콘텐츠를 처리할 수 있다.
- 클릭, 스크롤, 폼 제출 등 사용자가 브라우저에서 할 수 있는 모든 동작을 자동화할 수 있다.
- 실제 브라우저 창을 통해 크롤링 과정을 디버깅할 수 있다.
어디에 주로 사용하는가?
- JavaScript로 동적으로 콘텐츠를 로드하는 웹 페이지에서 데이터를 추출할 때 유용하다.
- 특정 상호작용(예: 버튼 클릭, 폼 제출 등)이 필요한 경우에 적합하다.
마무리
간단하게 말해서 크롤링은 다른 페이지의 정보를 훔쳐오는 거다. 근데 훔쳐오는 페이지의 컨텐츠가 자주 바뀐다면 셀레니움(Selenium)을 사용하는게 적합하고, 컨텐츠가 정적이라면 뷰티풀 수프(Beautiful Soup) 사용하는게 적합하다. 내가 크롤링 하려는 카카오 지도 API의 매장 정보들 중에서 매장의 이름, 주소, 전화번호 같이 정적인 컨텐츠들은 뷰티풀 수프(Beautiful Soup)를 사용하는게 적합하고, 매장의 리뷰, 평점처럼 컨텐츠가 동적이라면 셀레니움(Selenium)을 사용하는게 적합하다. 그래서 나는 두개의 크롤링 도구를 같이 사용하기로 했다.
'SideProject(My-Selectshop-Finder)' 카테고리의 다른 글
비밀번호 표시에 웹 접근성 및 사용자를 위한 tabIndex 활용 (0) | 2024.08.04 |
---|---|
카카오 지도 크롤링 시도하기(Flask, Selenium, bs4) (0) | 2024.07.25 |
Flask에 대해 알아보기 (0) | 2024.07.12 |
NextJs 에서 Kakao Maps와 Geolocation으로 인한 초기 위치 문제 해결하기 (0) | 2024.07.04 |
React, NextJs에 SVG 사용하기 (0) | 2024.06.20 |