Парсинг сайта, подгружаемого js на python
Сайт: "https://pkk.rosreestr.ru/#/search/55.01529354875843,83.00210978072299/15/@d98mbov9/8804912561-1-3?text=55.012395%2083.004747&type=2&inPoint=true&opened=54%3A35%3A72255" Контент сайта, подгружается javascript. Как получить полный код страницы. Объясните подробно. Заранее спасибо.
Ответы (1 шт):
Автор решения: Mr. JS
→ Ссылка
Если Вы хотите парсить динамически загружаемые на JavaScript сайты, следует использовать selenium вместо requests. При этом в вашем случае следует обратить внимание сразу на следующие моменты:
- Использовать WebDriverWait для ожидание окончания загрузки ресурса. Например, последним загружается ссылка с текстом "Print this article", в этом случае:
...
driver.get(url)
element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.PARTIAL_LINK_TEXT , 'Print this article')))
# url - адрес целевой страницы сайта, driver - Selenium WebDriver
- Важно также после загрузки страницы прокрутить её до конца. Например, посредством следующего кода:
content = ''
while True:
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(1)
if content != driver.page_source:
content = driver.page_source
continue
else:
break
# content - содержимое, driver - Selenium WebDriver
Далее уже применяете к content для парсинга страницы lxml или beatifulsoup по вкусу.
Подробная документация: