文章内容如有错误或排版问题,请提交反馈,非常感谢!
Newspaper3k
Newspaper3k 是一个专门用于新闻文章抓取和内容提取的Python库。该项目由 Lucas Ou-Yang 开发,灵感来源于Requests库的简洁性,底层使用lxml实现高效解析。

核心特性
- 文章内容提取
- 自动提取文章标题、正文、作者、发布时间
- 提取顶部图片和所有相关图片
- 识别视频链接
- 支持多语言(10+种语言)
- 自然语言处理功能
- 关键词提取
- 自动摘要生成
- 语言自动检测
- 批量处理能力
- 支持构建整个新闻源
- 多线程下载框架
- 自动识别分类URL
基本用法示例
from newspaper import Article
# 单篇文章处理
url = 'http://example.com/article'
article = Article(url)
article.download()
article.parse()
print(article.title)
print(article.authors)
print(article.text)
# NLP处理
article.nlp()
print(article.keywords)
print(article.summary)
# 批量处理新闻源
cnn_paper = newspaper.build('http://cnn.com')
for article in cnn_paper.articles:
print(article.url)
Newspaper4k
Newspaper4k 是 Newspaper3k 的一个活跃分支,由 AndyTheFactory 维护。由于原项目长期未更新,Newspaper4k 旨在继续发展和改进这个库。
改进和新特性
- 功能增强
- 支持更多语言(80+种)
- 集成Google News支持
- 提供命令行接口(CLI)
- 多种输出格式(JSON、CSV、文本)
- 性能优化
- 改进了文章提取算法
- 更好的语言检测
- 增强的多线程处理
- 开发者体验
- 更好的文档
- 类型提示支持
- 更严格的代码质量控制
基本用法示例
import newspaper
# 单篇文章处理
article = newspaper.article('https://example.com/article')
print(article.authors)
print(article.publish_date)
print(article.text)
# 命令行使用
# python -m newspaper --url="URL" --language=en --output-format=json
# Google News集成
from newspaper.google_news import GoogleNewsSource
source = GoogleNewsSource(country="US", period="7d", max_results=10)
source.build(top_news=True)
source.download_articles()
性能评估对比
根据项目提供的基准测试数据:
| 版本 | BLEU分数 | F1分数 |
| Newspaper3k 0.2.8 | 0.8660 | 0.9100 |
| Newspaper4k 0.9.3 | 0.9531 | 0.9460 |
主要差异对比
| 特性 | Newspaper3k | Newspaper4k |
| 维护状态 | 已停止更新 | 活跃维护 |
| Python版本 | Python 3 | Python 3.8+ |
| 语言支持 | 10+种 | 80+种 |
| Google News | 不支持 | 支持 |
| 命令行工具 | 无 | 有 |
| 性能 | 基础版本 | 显著改进 |
| 文档质量 | 一般 | 更好 |
| 类型提示 | 无 | 支持 |
建议
对于新项目,强烈推荐使用Newspaper4k,因为它:
- 有活跃的维护和bug修复
- 性能更好
- 功能更丰富
- 有更好的开发者体验
对于现有使用Newspaper3k的项目,可以考虑迁移到Newspaper4k,因为API保持兼容,迁移成本较低。
参考链接:



