본문 바로가기
개발 관련

파이선 크롤링 - 동적 페이지 크롤링

by 조이플워니 2022. 5. 3.

파이선(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 들이 동적으로 변하기 때문에 크롤링이 까다로운 경우가 많다

어떻게 하면 잘 가져올 수 있을지에 대한 충분한 고민 후 개발하는 것을 추천한다 ㅎ

 

댓글