美丽的汤(代码工作)现在只返回某些标签

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了美丽的汤(代码工作)现在只返回某些标签相关的知识,希望对你有一定的参考价值。

几个星期前我正在抓取这个网站,但有些代码不再适用。

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

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

答案

因为我不知道网站是否改变了填充方式,但如果允许加载页面的时间有效。使用硒检索就好了。似乎内容是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()

以上是关于美丽的汤(代码工作)现在只返回某些标签的主要内容,如果未能解决你的问题,请参考以下文章

美丽的汤和提取价值

美丽的汤Youtube订阅者

用美丽的汤刮痧数据

美丽的汤 CSS 选择器没有找到任何东西

使用美丽的汤从标签中提取“href”

美丽的汤正则表达式