python - 我如何抓住 cnn 的主要标题?
问题描述
试图只抓住“大使称王牌无能”,但我似乎无法降落在那个地区。我试过拉“h2”和类以及“强标签,但似乎找不到任何东西。我下面的代码保持原样,它是我唯一可以显示的东西。
soup = BeautifulSoup(data.text,'html.parser')
for rows in soup.find_all('li'):
for x in soup.findChildren('div'):
print(x)
解决方案
页面动态加载数据。如果您检查该页面向哪些 URL 发出请求(例如,在 Firefox 开发人员工具中),您会发现数据位于不同的 url 中。不幸的是,这个 url ( https://edition.cnn.com/data/ocs/section/index.html:intl_homepage1-zone-1/views/zones/common/zone-manager.izl
) 是动态构造的:
import requests
from bs4 import BeautifulSoup
url = 'https://edition.cnn.com/data/ocs/section/index.html:intl_homepage1-zone-1/views/zones/common/zone-manager.izl'
soup = BeautifulSoup(requests.get(url).text, 'lxml')
print(soup.h2.text)
印刷:
UK ambassador calls Trump 'inept' and 'insecure'
推荐阅读
- php - 在 Laravel 中 queue:work 和 config/queue.php 传递的参数之间的区别
- javascript - JavaScript scrollBy(x,y) 不适用于 Android WebView 中的样式列宽
- kubernetes - 只能通过 HTTP 而不是 HTTPS 访问我的应用程序
- c# - 由于计时和线程问题,NUnit 测试执行失败
- php - PHP上传本地文件无按钮
- reactjs - 在反应中触发 NavLink 上的焦点()
- python - 使用 dataframe.at 时浮点数被舍入,而不是 dataframe.iloc
- javascript - setInterval 和 setTimeout 中的间隔不准确
- asciidoc - 如何为现有的 Asciidoctor Asciidoc 宏创建自定义 HTML 输出?
- java - 来自 SQL 数据库的带有时间的 JFreechart 图表