Beautiful Soup (код работал) теперь возвращает только определенные теги - PullRequest
0 голосов
/ 14 ноября 2018

Я перебирал этот сайт несколько недель назад, но часть кода больше не работает.

Этот код возвращает все, как и ожидалось:

from bs4 import BeautifulSoup
import requests
url = 'https://www.sportsbookreview.com/betting-odds/nfl-football/consensus/'
res = requests.get(url)
soup = BeautifulSoup(res.content, "lxml")
soup.find_all('div', {'class': 'hUMQK _3JPYB'})

Однако при выполнении поиска всев коде ниже он теперь возвращает пустой список, и он работал.Похоже, что ничего не изменилось на веб-страницах HTML

soup.find_all('div', {'class': '_3h0tU'})

HTML-изображение тега 'div'

1 Ответ

0 голосов
/ 14 ноября 2018

Как Я не знаю, изменился ли веб-сайт, насколько он заполнен, но работает, если время загрузки страницы отводится. Использование селена восстанавливает просто отлично. Кажется вероятным, что контент загружен JS.

from selenium import webdriver

URL = "https://www.sportsbookreview.com/betting-odds/nfl-football/consensus/"
d = WebDriver.Chrome()
d.get(URL)
for item in d.find_elements_by_css_selector("._3h0tU"):
    Print(item.Text)
    d.quit()
...