파이선(Python) 으로 크롤링을 자주 하는데..
대부분 사용자 엑션이 동반되기때문에 selenium 을 이용한다
하지만, 동적으로 생성되고 변경되는 페이지의 경우(인스타그램<js>, 트위터<flex> 등등) 셀레니움이 잘 안된다
그럴때는 BeautifulSoup(bs) 를 사용하면 좋다
선언은 아래와 같이 하고
from bs4 import BeautifulSoup
사용은 아래와 같이 ㅋ
strHtml = driver.page_source #드라이버의 현재 전체 소스를 변수에 넣고
bs = BeautifulSoup(strHtml, 'lxml') #파싱 고고
dataDiv = bs.select('div.Table-bodyWrapper') #select 또는 find 로 원하는 부분(?) 을 가져와서 헨들링한다
strName = bs.find("div", {"class":"Hoc"}).text
마지막으로.. 동적페이지는 사람이 보기에는 데이터가 다 있는것처럼 보이지만.. 실제 html 소스단에서는 element 들이 동적으로 변하기 때문에 크롤링이 까다로운 경우가 많다
어떻게 하면 잘 가져올 수 있을지에 대한 충분한 고민 후 개발하는 것을 추천한다 ㅎ
'개발 관련' 카테고리의 다른 글
jquery 자동완성 구현하기 (0) | 2022.09.14 |
---|---|
mysql mariadb DB 전체 용량, 테이블별 용량 조회 (0) | 2022.07.29 |
리눅스(linux) 폴더별 용량 확인하기 (0) | 2022.01.18 |
mariadb subquery 10.2 ? (0) | 2021.08.10 |
mysql(mariadb) dblink 방법 (0) | 2021.08.10 |
댓글