Пытаюсь парсить сайт
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.
Подскажите, пожалуйста, как это можно сделать на этом сайте.