Python 使用BeautifulSoup获取搜索结果编号
我正在尝试使用Python中的BeautifulSoup来获取CNN中搜索结果的总数 网页上的源代码是Python 使用BeautifulSoup获取搜索结果编号,python,html,web,beautifulsoup,web-crawler,Python,Html,Web,Beautifulsoup,Web Crawler,我正在尝试使用Python中的BeautifulSoup来获取CNN中搜索结果的总数 网页上的源代码是 <div class="cnn-search__results-count"> "Displaying results 1-10 out of 2208 for" <strong>toronto</strong> </div> 然而,我只得到 <div class="cnn-search__results-count"><
<div class="cnn-search__results-count">
"Displaying results 1-10 out of 2208 for"
<strong>toronto</strong>
</div>
然而,我只得到
<div class="cnn-search__results-count"></div>
中间的所有内容都丢失了
有人知道如何解决这个问题吗?非常感谢 网站加载了
JavaScript
事件,该事件在页面加载后动态呈现其数据
请求
库将无法动态呈现JavaScript
。因此,您可以使用selenium
或请求\u html
。事实上,有很多模块可以做到这一点
现在,我们在表上有另一个选项,用于跟踪数据的呈现位置。我能够找到用于从后端API
检索数据的请求,并将其呈现给用户端
您可以通过打开并检查XHR/JS
请求来获取XHR
请求,这取决于调用的类型,例如fetch
导入请求
导入json
r=请求。获取(“https://search.api.cnn.io/content?q=toronto&size=10json()
data=json.dumps(r,缩进=4)
#打印(数据)#以良好的格式查看完整输出。
#打印(r.keys())#以查看JSON dict的键
打印(r[“元”])
输出:
{'start':1,'end':10,'total':10,'of':2208,'maxScore':None,'duration':
55}
注意:您可以使用q=toronto
查询另一个关键字
,并使用size=10
定义输出的大小
我建议添加一个与互联网和网站相关的标签。仅仅了解python和beautifulsoup可能还不够。谢谢Yonlif!我添加了一些新标签
<div class="cnn-search__results-count"></div>