I am trying to scrape the reviews of an AirBnb host page. The link I am trying to scrape is https://www.airbnb.it/rooms/13913676/reviews?adults=1&children=0&infants=0&check_in=2022-10-29&check_out=2022-11-03&previous_page_section_name=1000&federated_search_id=060573ed-8aca-479b-b640-f8afd363ebd2.
I would like to scrape ALL the available reviews but so far I was only able to search for a certain number of reviews.
Here below the code I'm using:
from selenium.webdriver.chrome.service import Service
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
chromedrive_path = os.path.join(os.getcwd(),"chromedriver")
chrome_executable = Service(executable_path=chromedrive_path , log_path='NUL')
driver = webdriver.Chrome(service=chrome_executable)
url_reviews = 'https://www.airbnb.it/rooms/13913676/reviews?adults=1&children=0&infants=0&check_in=2022-10-29&check_out=2022-11-03&previous_page_section_name=1000&federated_search_id=060573ed-8aca-479b-b640-f8afd363ebd2'
driver.get(url_reviews)
wait = WebDriverWait(driver,10)
x_path_easy = "//div[@data-testid='pdp-reviews-modal-scrollable-panel']//div[@class='r1are2x1 dir dir-ltr']"
wait.until(EC.presence_of_all_elements_located((By.XPATH,x_path_easy)))
x_path_easy_2 = "(//div[@data-testid='pdp-reviews-modal-scrollable-panel']//div[@class='r1are2x1 dir dir-ltr'])[last()]"
x=0
desiredReviewsCount=100
while x<desiredReviewsCount:
driver.find_element(By.XPATH,x_path_easy_2).location_once_scrolled_into_view
x = len(driver.find_elements(By.XPATH,x_path_easy))
Any hints is much apreciated