Beautiful Soup(代码正在运行)现在仅返回某些标签

时间:2018-11-13 22:09:59

标签: python html web-scraping beautifulsoup lxml

几周前,我正在抓取该网站,但某些代码不再起作用。

此代码按预期返回所有内容:

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 image of 'div' tag

1 个答案:

答案 0 :(得分:1)

为 我不知道网站是否更改了填充方式,但是如果允许时间加载页面,则可以正常工作。使用硒检索就可以了。似乎内容是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()