1 简介
newspaper 框架是一个主要用来提取新闻内容及分析的 Python 爬虫框架,更确切的说,newspaper 是一个 Python 库,但这个库由第三方开发。
newspaper 主要具有如下几个特点:
-
比较简洁
-
速度较快
-
支持多线程
-
支持多语言
GitHub 链接:https://github.com/codelucas/newspaper
安装方法:pip3 install newspaper3k
2 基本使用
2.1 查看支持语言
1 |
|
2.2 获取新闻
我们以环球网为例,如下所示:
1 |
|
默认情况下,newspaper 缓存所有以前提取的文章,并删除它已经提取的任何文章,使用 memoize_articles 参数选择退出此功能。
2.3 获取文章 URL
1 |
|
2.4 获取类别
1 |
|
2.5 获取品牌和描述
1 |
|
2.6 下载解析
我们选取其中一篇文章为例,如下所示:
1 |
|
2.7 Article 类使用
1 |
|
2.8 解析 html
我们通过 requests 库获取文章 html 信息,用 newspaper 进行解析,如下所示:
1 |
|
2.9 nlp(自然语言处理)
我们看一下在 nlp 处理前后获取一篇新闻的关键词情况,如下所示:
1 |
|
通过结果我们可以看出 newspaper 框架的 nlp 处理效果还算可以。
2.10 多任务
当我们需要从多个渠道获取新闻信息时可以采用多任务的方式,如下所示:
1 |
|
因获取内容较多,上述代码执行可能需要一段时间,我们要耐心等待。
3 词云实现
下面我们来看一下如何实现一个简单的词云。
需要的库
1 |
|
第三方库的安装使用 pip install 即可,如:pip install wordcloud。
文章获取及处理
1 |
|
生成词云
1 |
|
效果如图所示:
总结
本文为大家介绍了 Python 爬虫框架 newspaper,让大家能够对 newspaper 有个基本了解以及能够上手使用。在使用的过程中,我们会发现 newspaper 框架还存在一些 bug,因此,我们在实际工作中需要综合考虑、谨慎使用。
参考:
https://newspaper.readthedocs.io/en/latest/user_guide/quickstart.html#performing-nlp-on-an-article