Парсинг страницы с подгрузкой на Python

Например, есть такая страница: https://stl-nn.com/mebel-dlya-vannoy/sevilya-zerkalnyy-shkaf-runo-sevilya-95-pravyy/ На ней есть элементы, которые подгружаются сами, но через пару секунд после прогрузки страницы: введите сюда описание изображения

Мне нужно собрать все сопутствующие товары. Я реализовал это через Selenium: то есть просто открывал страницу, ждал пару секунд и сохранял код страницы с уже появившимися элементами.

def get_html(url):
    driver = webdriver.Chrome(executable_path='C:\\Users\\bushu\\PycharmProjects\\chromedriver\\chromedriver.exe')
    driver.get(url)
    time.sleep(3)
    req = driver.page_source

    with open(f'data/item.html', 'w', encoding='utf-8') as file:
        file.write(req)

Но, очевидно, данный способ очень неудобным и долгий. Могу ли я как-то это сделать через requests или иным способом?


Ответы (1 шт):

Автор решения: Alex Bell

Если вы желаете сохранять в файл, а потом его парсить... Например так:

    from requests_html import HTMLSession

    session = HTMLSession()
    url = "https://stl-nn.com/mebel-dlya-vannoy/sevilya-zerkalnyy-shkaf-runo-sevilya-95-pravyy/"
    r = session.get(url)
    html = r.html.html

Использую requests-html, так как в нем уже встроен user-agent.

→ Ссылка