Как скачать рецензии со страницы, где блок с рецензируемыми страницами представлен как отдельный элемент? - PullRequest
0 голосов
/ 31 января 2020

Я хочу отменить обзоры, используя Selenium и BeautifulSoup. Я использовал их, а не готовое решение, потому что я хотел загрузить звезды. Но возникли две проблемы:

  1. Скачивает повторные обзоры. Я думаю, это связано с тем, что блок с отзывами не успевает загрузить.

  2. Слишком долго работает.

Кто-нибудь знает, как их решить?

Заранее благодарю за ответ и внимание.

start_url = 'https://www.patagonia.com/product/mens-down-sweater-jacket/84674.html?dwvar_84674_color=OXDR&cgid=mens-jackets-vests#start=1'
number_pages = 87
arrow_selector = '.yotpo-icon-right-arrow'

chrome_options = Options()
chrome_options.add_argument("--headless") # Opens the browser up in background

driver = Chrome("chromedriver.exe")

pages = []
with Chrome(options=chrome_options) as browser:
    driver.get(start_url)
    request = driver.execute_script('return document.body.innerHTML')
    pages.append(bs(''.join(request), "html.parser"))

    time.sleep(5)    

    for i in range(number_pages):
        driver.find_element_by_css_selector(arrow_selector).click()
        time.sleep(5)
        request = driver.execute_script('return document.body.innerHTML')
        pages.append(bs(''.join(request), "html.parser"))
...