셀레늄 실습: 트립어드바이저
셀레늄으로 트립어드바이저의 리뷰를 크롤링한다.
url
변수에 크롤링 대상이 되는 웹페이지 주소를 저장한다.
url = 'https://www.tripadvisor.co.kr/Restaurant_Review-g294197-d1371740-Reviews-Mugyodong_Bugeokukjib-Seoul.html'
셀레늄으로 웹 브라우저를 띄우고 주소로 이동한다.
from selenium.webdriver import Chrome
browser = Chrome()
browser.get(url)
'더보기' 링크 찾기
find_elements_by_css_selector
로 '더보기' 버튼에 해당하는 링크를 찾는다.
여기서 매우 비슷한 이름의 메소드가 2개 있다. find_element_by_css_selector
와 find_elements_by_css_selector
이다. 전자는 선택자와 일치하는 첫번째 요소를 발견한다. 후자는 모든 요소를 발견한다.
아래와 같이 더보기 버튼에 해당하는 모든 링크를 찾는다.
more_links = browser.find_elements_by_css_selector('.taLnk.ulBlueLinks')
클릭
.click
메소드로 요소를 클릭할 수 있다.
more_links[0].click()
리뷰 텍스트 수집
리뷰 텍스트 요소를 선택한다.
reviews = browser.find_elements_by_css_selector('.partial_entry')
.text
로 리뷰 텍스트를 확인합니다. 이는 lxml.html
의 .text_content()
와 동일합니다.
for review in reviews:
print(review.text)
사골곰탕 같은 하얀 국물에 북어가 푸짐하게 들어 있네요. 맛집으로 식사시간 때 항상 사람이 줄 서 있습니다. 서비스도 괜찮은데 식사시간 때는 피해야 할 것 같습니다. 사람이 너무 많기 때문에 편하게 먹기는 불편하다 간단하게 식사하고 싶을때 찾으면 될듯 너무 큰 기대는 하지 않음이 좋겠다 서울의 중심가에 위치한 오래되고 전통적인 식당으로서 숙취 해소 및 겨울철에 얼은 몸을 녹여주는 진한 북어의 사골국과 같은 탕으로 최고지요^^ ...