python-3.x 当使用Beautiful Soup抓取时,输出中缺少文本-我如何提取它?

ddrv8njm  于 2023-05-30  发布在  Python
关注(0)|答案(1)|浏览(148)

我目前正在做一个个人项目,是相当新的网页抓取和美丽的汤库,所以任何帮助将不胜感激!我目前正在尝试从以下HTML片段中提取R1、R2等文本

我为此编写的代码如下:

import requests
from bs4 import BeautifulSoup

URL1 = "https://www.sportsbet.com.au/racing-schedule/horse/today"
racing = requests.get(URL1)
soup2 = BeautifulSoup(racing.content, "lxml")

race_index = soup2.findAll('div', {"class":"tableHeaderCell_fh883o"})
for race in race_index:
    print(race)

然而,div标签中显然有一些文本,但我得到的输出是:

<div class="tableHeaderCell_fh883o"></div>
<div class="tableHeaderCell_fh883o"></div>
<div class="tableHeaderCell_fh883o"></div>

我想知道为什么div标签中的文本丢失了,以及如何提取文本。

qzwqbdag

qzwqbdag1#

是的,你不能得到它,因为这个数据是动态加载的,而不是静态的,所以用BeautifulSoup打开它不会加载这个数据。
相反,如果您在浏览器中打开页面并打开DevTools,切换到网络选项卡,然后刷新页面,您将找到this request being made
长话短说,只要前往该链接,您就会发现所需的数据以JSON数据的形式加载在那里。
如果此解决方案解决了您的问题,请不要忘记将其标记为答案。

相关问题