Довольно часто, если страница загружается JavaScript после загрузки, requests
и BeautifulSoup
не будут правильно обрабатывать страницу. Лучше всего переключиться на модуль selenium
, который позволяет вашей программе динамически получать доступ к странице и взаимодействовать с элементами. После загрузки (и, возможно, нажатия на пару элементов) вы можете передать HTML-код BeautifulSoup
и обработать его так, как вам удобно. Базовая структура, с которой я рекомендую начать, выглядела бы так:
from selenium import webdriver
browser = webdriver.Chrome() # You'll need to download drivers from link above
browser.implicitly_wait(10) # probably unnecessary, just makes sure all pages you visit fully load
browser.get('https://stips.co.il/explore')
while True:
input('Press Enter to print HTML')
HTML = browser.page_source
print(HTML)
Просто кликните в браузере и, когда вы хотите увидеть, верен ли HTML, вернитесь к вашему приглашению и нажмите ENTER
. Это способ автоматического нахождения элементов , поэтому вам не нужно каждый раз вручную взаимодействовать со страницей