크롤링에는 대표적으로 두 가지 라이브러리를 사용한다.
차이를 알아보자.
Selenium | BeautifulSoup |
웹 동작 | html 정보 파싱 |
동적 크롤링을 효과적으로 수행 라이브러리 자체가 무겁고, 자주 막힌다 |
Requests와 BeatutifulSoup으로 최대한 해결하기 |
페이지 html 정보 가져오기 driver.page_source |
soup = BeautifulSoup(html,'lxml') soup.find_all(<b>'태그'</b>, attrs = {<b>'속성'</b> : <b>'속성 정보'</b>})의 구조로 검색한다. (soup.find()의 경우도 동일) soup.find_all()의 경우에는 리스트 형태로 결괏값을 반환하기 때문에 인덱싱을 해주어야 다른 함수들을 활용할 수 있다.(.text, .get 등) 부모 태그를 가지고 온 경우에 더 파싱이 가능하다. ex) soup.find(<b>'부모 태그'</b>).find(<b>'자식 태그'</b>) (실제 본인이 원하는 데이터를 얻고자 할 때 html 구조에서 헤매는 경우를 해결해 줄 수 있다.) |
'Stay Hungry Stay Foolish > 웹 크롤링' 카테고리의 다른 글
웹 크롤링) 네이버 인물정보 크롤링하기 (2) | 2021.02.10 |
---|---|
웹 크롤링) BeautifulSoup으로 네이버 실시간검색어 크롤링하기 (0) | 2021.02.10 |
댓글