我正在尝试从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兼容性问题?
提前感谢您的帮助!
答案 0 :(得分:1)
尝试查看您正在抓取的网页来源(在浏览器地址栏中输入view-source:https://www.bet365.com/#/IP/
),您会看到屏幕上实际可见的内容并非该网址背后的内容。
您正在寻找的数据是通过AJAX调用异步加载的,因此BeatifulSoup不会让您走得那么远。相反,您可能需要模拟AJAX调用并找出哪些数据填充了您要解析的列。