【问题标题】:Scraping headlines on CNN (Beautiful Soup)在 CNN 上抢头条(美汤)
【发布时间】:2020-09-11 14:17:56
【问题描述】:

我正在开展一个项目,并希望从 CNN 获取有关某些主题的文章标题和发布日期。我之前做过一些抓取工作(从 Wiki 中提取一些表格),但这次我未能提取出我想要的信息。这是我的代码:

import requests
from bs4 import BeautifulSoup

link = 'https://www.cnn.com/search?q=tesla&size=10&category=us'
cnn = requests.get(link)
soup = BeautifulSoup(cnn)
soup.find_all(class_="cnn-search__result-headline")

我没有从这段代码中得到任何东西。我试图弄清楚这个问题,但没有得到解决方案,它困扰了我两天。非常感谢有人能帮我解决这个问题。

【问题讨论】:

  • 美汤一定要配吗?我发现 Selenium 和 python 的效果很好,而且也很简单。
  • 你需要解析 cnn.content 而不是 cnn
  • CNN 似乎通过 javascript 加载了标题和其他数据。 BeautifulSoup 不做 javascript。我会改用 Selenium。
  • 知道了。我以前从未学过javascript,所以我不知道这里发生了什么。我会试试 Selenium,谢谢你的帮助!!!
  • 这能回答你的问题吗? CNN Scraper sporadically working in python

标签: python beautifulsoup


【解决方案1】:

这是bs4的使用方法,我使用的例子是从CNBC获取最新消息。

import requests
from bs4 import BeautifulSoup

link = 'https://www.cnbc.com/world/?region=world'
page = requests.get(link)
soup=BeautifulSoup(page.text,'html.parser')

headline_news = soup.find("a", attrs={'class': 'LatestNews-headline'}).text.strip()
link_news = soup.find('a', attrs={'class': 'LatestNews-headline'})['href'].strip()
time_news = soup.find("span", attrs={'class': 'LatestNews-wrapper'}).text.strip()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    相关资源
    最近更新 更多