安装pygooglenews遇metadata-generation-failed错误,需按人物抓取谷歌新闻
解决
pygooglenews安装的metadata-generation-failed错误及实现人物新闻抓取 一、修复安装错误
metadata-generation-failed大多因依赖版本不兼容或pip版本过低导致,按以下步骤尝试解决:
- 先升级pip、setuptools和wheel到最新版本:
python -m pip install --upgrade pip setuptools wheel - 尝试安装指定稳定版本,避开存在metadata问题的版本:
pip install pygooglenews==0.1.2 - 若上述方法无效,直接从GitHub源码安装:
pip install git+https://github.com/kotartemiy/pygooglenews.git
二、实现人物相关新闻抓取
安装成功后,用以下代码实现输入人物姓名获取对应新闻的功能:
from pygooglenews import GoogleNews def fetch_person_news(person_name): # 初始化GoogleNews,可修改lang和country切换语言/地区 gn = GoogleNews(lang='zh', country='CN') # 搜索指定人物的新闻 search_result = gn.search(person_name) # 提取关键新闻信息 news_items = [] for entry in search_result['entries']: news_info = { '标题': entry.title, '链接': entry.link, '发布时间': entry.published } news_items.append(news_info) return news_items # 使用示例 target_person = input("请输入要查询的人物姓名:") related_news = fetch_person_news(target_person) for num, news in enumerate(related_news, 1): print(f"\n第{num}条新闻:") print(f"标题:{news['标题']}") print(f"链接:{news['链接']}") print(f"发布时间:{news['发布时间']}")
额外过滤说明
- 若需限定新闻时间范围,可在
search方法中添加before和after参数(格式为YYYY-MM-DD),示例:search_result = gn.search(person_name, before='2024-06-01', after='2024-05-01') - 修改
lang和country参数可获取其他语言/地区的新闻,比如lang='en', country='US'对应英文美国地区新闻。
内容的提问来源于stack exchange,提问作者Ritik Choudhary
相关产品推荐
相关产品推荐

