商务服务
python新闻内容爬虫专用包newspaper详细教程
2024-12-29 17:07

作者 | CDA数据分析师

​ Newspaper框架是Python爬虫框架中在GitHub上点赞排名第三的爬虫框架,适合抓取新闻网页。它的操作非常简单易学,即使对完全没了解过爬虫的初学者也非常的友好,简单学习就能轻易上手,因为使用它不需要考虑header、IP代理,也不需要考虑网页解析,网页源代码架构等问题。这个是它的优点,但也是它的缺点,不考虑这些会导致它访问网页时会有被直接拒绝的可能。

​ 总得来说,Newspaper框架并不适用于实际工程类新闻信息爬取工作,框架不稳定,爬取过程中会有各种bug,例如获取不到url、新闻信息等,但对于想获取一些新闻语料的朋友不妨一试,简单方便易上手,且不需要掌握太多关于爬虫方面的专业知识。

newspaper的功能

  • 多线程文章下载框架
  • 新闻网址识别
  • 从html中提取文本
  • 从html中提取顶部图像
  • 从html中提取所有图像
  • 从文本中提取关键字
  • 从文本中提取摘要
  • 从文本中提取作者
  • Google趋势术语提取。
  • 使用10种以上语言(英语,中文,德语,阿拉伯语…

​ newspaper包并不是默认已安装的模块库,因此在第一次使用newspaper库前,需要先安装好newspaper库,通常可以说通过快捷键win+R,输入cmd,回车打开命令窗口,输入

 

​ 进行安装,需要注意的是:需要安装的是newspaper3k而不是newspaper,因为newspaper是python 2的安装包,pip install newspaper 无法正常安装,请用python 3对应的 pip install newspaper3k正确安装。

2.1 单条新闻爬取示例

​ 爬取单条新闻用到的是newspaper中的Article包,爬取指定网页的新闻内容,也就是当你想爬取某一篇新闻的内容,那么需要先获取它的网址,然后再以这个单一的网址作为目标来爬取内容。

​ 下面以2019年12月6日南方网的一篇新闻《最短10分钟 广州南站直达市中心》作为例子进行说明。首先需要设定新闻的网址,然后使用Article函数,第一个参数是网址,第二个常用参数是语言language,中文是以字符串**‘ch’**表示。然后在用download函数和parse函数对新闻进行加载已经解析,这两步执行完之后结果新闻所有内容就已经加载出来了,剩下来就是从中使用函数分解出自己需要的内容了。

 

结果

 

​ 除了常用到的正文和题目外,还可以获取新闻的作者、发布时间、摘要、关键词、图片链接、视频链接等等,但是并不能100%识别,很多新闻的作者,关键词和文章摘要都无法识别出来,发布时间,图片、视频链接就基本能识别出来。

​ 如果文章没有指明使用的什么语言的时候,newspaper会尝试自动识别。世界上各国语言何其之多,newspaper也不能100%完美支持各种语言的,不过目前newspaper可以支持35种语言,基本上可以说能够覆盖时间上绝大多数国家和地区的新闻了。

​ 通过newspaper.languages(),可以查看newspaper库支持的语言及其对应参数输入

 

2.2 同网站下多条新闻爬取

​ 单条新闻爬取的效率太低了,而且需要先行找到新闻的详细网址才可以爬取其中内容,如果是需要爬取某个网站或者多个网站的大量新闻,这样使用明显是不够的。newspaper可以通过构建新闻源,把整个新闻网站的所有新闻包含进来,然后再通过这个新闻源对新闻网站进行索引和爬取。以下以南方网为例,详细解读该如何使用newspaper库爬取多条新闻。

1、先构建新闻源

 

2、文章缓存

​ 默认情况下,newspaper缓存所有以前提取的文章,并删除它已经提取的任何文章。此功能用于防止重复的文章和提高提取速度。

 

​ 相隔一段时间后重新构建同一网站的新闻源,再查看新闻链接,发现只有18个了,说明在这一段时间内,新增/更新了18条新闻。如果不需要使用这个功能,可以使用memoize_articles参数选择退出此功能。

 

3、提取源类别

​ 通过category_urls()可提取出源网站下所有的其他新闻网站链接,可以通过取出来的网站链接,建立更多的新闻源,从而获取跟多的新闻。

 

结果

 

4、提取源新闻网站的品牌和描述

​ 构建新闻源之后,可以直接查看其品牌名称和新闻网站的介绍。

 
 

5、查看新闻链接

​ 构建新闻源之后,还可以查看整个新闻源下的所有新闻链接及其数量,通过for循环,可以一一列出所有对应的新闻网页。这个与第三小点中的源类别不一样,源类别中提前的是新闻网站的主网页,每个主网页下有非常多新闻链接,而新闻链接是新闻源内的每一篇新闻报道的实际网址。

 

输出结果

 

​ 有一点需要注意的是,这1838条新闻链接中并不是全部链接都是对应着一篇新闻报道,有一些是只是新闻网站的子节点,子节点类似于一个新闻分类,里面装载这其他新闻的链接,它可能只有一个标题,没有新闻正文之类的内容。例如新闻链接中的第一、第二条链接,其网址也和下面几条新闻报道的网址有着较明显的区别,第一条链接对应的是《南方融媒体专区》,在newspaper里能通过.title()函数取出它的名字,但因为它没有新闻正文,所以用.text()取出的会是空字符串。

6、提取单篇文章

​ 既然newspaper库能够提取新闻源里的每篇新闻报道的网址链接,那么必然能够根据这个来爬取新闻的内容,下面我们以新闻链接中的第四条链接为例,提取其中的一篇新闻报道——《创新的佛山呼唤一条创新街》。

 

输出结果

 

7、提取新闻源下所有新闻内容

​ 通过for循环,可以将新闻报道一篇一篇的进行加载并解析,将其内容爬取出来,因为newspaper库是属于比较简单粗暴的访问网页进行爬取,出现拒绝访问的可能性还是很大的,所以还必须得使用try试错。

 

输出结果(部分

​ 从结果来看,newspaper此次的爬取还是非常成功的,没有出现404被拒绝访问的情况,顺利的把所有新闻报道都爬取下来了。

    以上就是本篇文章【python新闻内容爬虫专用包newspaper详细教程】的全部内容了,欢迎阅览 ! 文章地址:http://www78564.xrbh.cn/news/30683.html 
     文章      相关文章      动态      同类文章      热门文章      栏目首页      网站地图      返回首页 迅博思语移动站 http://www78564.xrbh.cn/mobile/ , 查看更多   
最新文章
太原大眼熊猫眼科教你分辨真假近视
暑假余额告急!孩子们放飞自我的同时,电子屏幕“全天候陪伴”、沙发上的沉浸式阅读、户外活动的严重缺席……这些“放纵”的代价
蓝盾链条 _520摩托车链条
浙江蓝盾工贸有限公司主要生产蓝盾、盾久牌各种碳钢、不锈钢传动用精密滚子链、套筒链、输送链、板式链以及各种领域所应用的各种
OpenAI申请GPT-5中国商标遇挫,相关申请均被驳回
8 月 11 日消息,OpenAI 上周正式发布新一代人工智能模型 GPT-5,该模型已在中国提交商标申请,国际分类涵盖科学仪器、网站服务
军事晚报AI速递:今日军事热点一览 丨2025年8月14日
  军事领域动态复杂,事件可能迅速改变全球安全格局。我们整理了今日最重要的军事新闻,包括关键行动和政策变化,让您清晰把握
Skywork Deep Research Agent重磅升级!带来更多模态、更高质量和更高效的体验
8月11日,昆仑万维SkyWork AI技术发布周正式启动。8月11日至8月15日,我们每天发布一款新模型,连续五天,覆盖多模态AI核心场景
回收燕京八景茅台酒瓶 上门回收燕京八景空瓶
回收燕京八景茅台酒瓶 上门回收燕京八景空瓶另外给大家附上茅台酒瓶大约价格800元--9000元;回收价格不等;如有其他生肖或者没有
施耐德NSX-400H NSX-400H塑壳断路器说明书
施耐德NSX-400H】NSX-400H塑壳断路器说明书】品牌:施耐德电气. 型号:NSX 塑壳断路器 乐清市森发电器厂主要经营品牌有:常熟开
专卖 日本宝理 PBT 209AW 流动性好
209AW PBT 日本宝理 总代理 深圳209AW PBT 日本宝理 总代理 深圳209AW PBT 日本宝理 总代理 深圳209AW PBT 日本宝理 总代理 深圳
第七届“中华朗读者”全国总展演在西安圆满落幕
2025年8月4日,第七届“中华朗读者”青少年语言艺术展演全国总展演在古都西安圆满举办。本届展演以“展教融媒”为核心理念,依托
蛇年茅台酒瓶回收价值回收空瓶2025全国上门
蛇年茅台酒瓶回收价值回收空瓶2025全国上门 2024 年茅台酒:单瓶回收 2100 元,原箱(6 瓶装)13200 元2023 年茅台酒:单瓶回收