Python / BS4导航'div class'不与站点一起工作

时间:2018-02-12 19:53:36

标签: python html css beautifulsoup

我正在尝试从this website抓取数据(我不知道点击这个链接是否会到达我正在抓取的页面,但是this is the page我正在使用。)

我的目标是为每场比赛刮取1x2的付款数据。 1x2支付是第一列。在进入支付栏之前,我需要首先导航到游戏的行,但这是我遇到问题的地方。我目前的代码是:

res = requests.get('https://www.bet365.com/#/IP/')
soup = BeautifulSoup(res.text, 'html.parser')
games = soup.find_all('div', attrs={'class':'ipo-Competition ipo-Competition-open '})
print(games)

我希望类ipo-Competition ipo-Competition-open能够获取第一行的数据,但是当我运行它时它只返回[]

有没有理由说这段代码没有导航到行?我试图在这个网站上访问的任何“div类”似乎都不起作用,所以我想知道它是否是BS4兼容性问题?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

尝试查看您正在抓取的网页来源(在浏览器地址栏中输入view-source:https://www.bet365.com/#/IP/),您会看到屏幕上实际可见的内容并非该网址背后的内容。

您正在寻找的数据是通过AJAX调用异步加载的,因此BeatifulSoup不会让您走得那么远。相反,您可能需要模拟AJAX调用并找出哪些数据填充了您要解析的列。