[英]How to scrape text that only unlocks after clicking “more” button
我試圖從旅行顧問網站上刮取評論。 我成功抓取了評論,但是有些評論很長且部分顯示,直到您單擊“更多”按鈕。
這是網站的鏈接: https : //www.tripadvisor.ca/Hotel_Review-g190479-d3587956-Reviews-The_Thief-Oslo_Eastern_Norway.html#REVIEWS
這是“更多”按鈕的源代碼:
<span class= soup.findAll(attrs={"class": "entry"}):
review = item.text.replace(',', '').replace('\n', ' ').encode('utf-8').strip()
這就是我從頁面中獲取評論的方式
for item in soup.findAll(attrs={"class": "entry"}):
review = item.text.replace(',', '').replace('\n', ' ').encode('utf-8').strip()
單擊“更多”按鈕后,如何抓取所有評論?
嘗試在Selenium中加載頁面。 這將允許您與javascript進行交互。 我沒有用BeautifulSoup嘗試過,但是我認為它看起來像這樣:
from selenium import webdriver
import BeautifulSoup
browser = webdriver.Firefox() #Or any other driver you want
browser.get('https://www.tripadvisor.ca/Hotel_Review-g190479-d3587956-Reviews-The_Thief-Oslo_Eastern_Norway.html#REVIEWS')
next_btn = browser.find_element_by_xpath('PATH_FOR_NEXT_LINK_ELEMENT')
next_btn.click()
html_source = browser.page_source
browser.quit()
soup = BeautifulSoup.BeautifulSoup(html_source)
review = soup("YOUR_SCRAPING_LOGIC")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.