首页 > 解决方案 > 我如何抓住 cnn 的主要标题?

问题描述

在此处输入图像描述

试图只抓住“大使称王牌无能”,但我似乎无法降落在那个地区。我试过拉“h2”和类以及“强标签,但似乎找不到任何东西。我下面的代码保持原样,它是我唯一可以显示的东西。

soup = BeautifulSoup(data.text,'html.parser')
    for rows in soup.find_all('li'):
        for x in soup.findChildren('div'):
            print(x)

标签: pythonweb-scrapingbeautifulsoup

解决方案


页面动态加载数据。如果您检查该页面向哪些 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'

推荐阅读