@Dao131

Selenium возвращает обрезанный ответ. Как получить весь код страницы?

Пытаюсь парсить сайт https://www.houzz.ru/professionals/remont-i-otdelk...

Ниже приведен код, который я использую.

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
import time


chromedriver = r'E:/ProgrammFiles/chromdriver/chromedriver.exe'
opts = Options()
opts.add_argument("user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36")
opts.add_argument('-headless')
browser = webdriver.Chrome(service=Service(r'E:/ProgrammFiles/chromdriver/chromedriver.exe'), options=opts)
browser.get('https://www.houzz.ru/professionals/remont-i-otdelka-kvartir-i-domov')
content = ''
while True:
    browser.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    time.sleep(1)
    if content != browser.page_source:
        content = browser.page_source
        continue
    else:
        break
time.sleep(10)
requiredHtml = browser.execute_script("return document.body.innerHTML;")
print(requiredHtml)


Это ответ, который я получаю.

https://pastebin.com/txVmHsNH

Первая строка это json, но она как-то обрезана с самого начала (ещё я её сократил, чтобы поместился код ответа на pastebin) и в ней хранится не совсем ожидаемая информация.

Мне нужно получить либо json, хранящийся в
<script id="hz-ctx" type="application/json">...</script>
, либо напрямую html, который позже можно будет распарсить с помощью BeautifulSoup.

Подскажите, пожалуйста, как это можно сделать на этом сайте.
  • Вопрос задан
  • 328 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы