簡體   English   中英

從側邊欄小部件中抓取評論 selenium python

[英]Scraping reviews from sidebar widget selenium python

我正在嘗試練習從 booking.com 中抓取評論。 我隨機選擇一家酒店並讓 selenium 獲取元素,然后嘗試定位以從 BeautifulSoup 獲取評論,如下所示,但結果未返回任何數據。 我可以提出您的建議,哪里出了問題以及如何解決?

from selenium import webdriver
from bs4 import BeautifulSoup

driver = webdriver.Chrome(executable_path="./driver/chromedriver.exe")
driver.get("https://booking.com")

driver.find_element_by_css_selector("input[class*='sb-searchbox__input']").send_keys("Eden The Residence at The Sea")
driver.find_element_by_css_selector("button[type='submit']").click()
driver.find_element_by_xpath("//span[contains(text(),'Eden The Residence at The Sea')]").click()
soup = BeautifulSoup(driver.page_source,"html.parser")
containers = soup.find_all("div", {"class": "review_list_container"})
reviews = containers[0].find_all("ul")

您必須將焦點切換到打開的新選項卡。 你可以使用

driver.switch_to.window(driver.window_handles[1])

這是最終代碼:

from selenium import webdriver
from bs4 import BeautifulSoup
import time

driver = webdriver.Chrome()
driver.get("https://booking.com")

time.sleep(2)
driver.find_element_by_css_selector("input[class*='sb-searchbox__input']").send_keys("Eden The Residence at The Sea")
driver.find_element_by_css_selector("button[type='submit']").click()
driver.find_element_by_xpath("//span[contains(text(),'Eden The Residence at The Sea')]").click()
time.sleep(3)
driver.switch_to.window(driver.window_handles[1])
soup = BeautifulSoup(driver.page_source,"html.parser")

containers = soup.find_all("span", {"class": "c-review__body"})

for span in containers:
    print(span.text)

Output:

“The location is great just few minutes walk to the beach”
“The entire experience was flawless. This is the most beautiful villa I've ever stayed in, let alone, seen. The staff were outstanding and so friendly and professional. The private chefs that cooked breakfast in our Villa was amazing, and SO well pri…
“The staff were great and it was very easy to order meals and have them prepared at a very reasonable price.”
“The villa is spacious and airy with a large private pool.
Bedrooms are large each with their own bathroom facilties.
The staff go above and beyond to make your stay as comfortable as possible.”
“Excellent , friendly helpful staff
Beautiful patio, garden and pool
Very spacious villa 
Fast laundry service
Decorate the villa and bath with flowers for my wife’s birthday ”
“We loved almost everything about Eden Residence from the location, the quality of the villa, the staff, the cost and the room service (cooks came and prepared meals at the cost to buy groceries plus 15%).
The staff are super friendly and we felt ext…
“Great accomodation. Lots of space. Great pool. Good service”
“Everything! The spacious living room, big toilet, beautiful surroundings. Not to forget, fantastic service by all the staff! Sampai jumpa lagi semuanyaaa 🙏🏻”
“Staff were exceptional. They went above and beyond to meet our needs at all hours of the day/night. Great, convenient location. Large spacious rooms all each with their own bathroom/ensuite. Pool was amazing. Staff cooked traditional suckling pig fo…
“Luxury Villa
Excellent friendly staff
Private pool
Ocean View sunsets from rooftop 
Walking distance to beach”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM