Newspaper3k —— 一个神奇的 Python 库

继续我们的有趣的 Python 库之旅 ——

一个小小的库,或许能避免重复造轮子

一个不显眼的功能,也许能在关键时刻拯救我们

一个出乎意料的方法,或许能激发更多创意灵感

一个独特的技能,也许能成为我们的守护神……


俗话说爬虫好写,内容难提,特别是要提取页面上的主要信息时,常常会被不同的页面结构和规则弄得很狼狈。

如果你还需要获得作者、发布日期、关键字等信息,那就更难了。

不过,不用慌张,已经有个 Python 库为你做好准备了,它就是 —— Newspaper3k

什么是 Newspaper3k?

Newspaper3k 不仅可以帮助你抓取文章,解析出干净的文本,而且还能自动提取关键信息,如作者、发布日期、关键字等。

更惊艳的是它还可以支持多种语言,从英文到中文,再到阿拉伯语等等,这一切都变得易如反掌。

Newspaper3k 启发自 requests 库的简单性,并借助 lxml 的速度优势,成为了处理新闻抓取任务的优选库。

虽然它支持 Python 2,但是强烈推荐您在 Python 3 环境下使用,以享受更稳定和更强大的功能。

Newspaper3k 是在 Python 环境中进行新闻文章抓取和内容解析的测试库。由 Lucas Ou-Yang 创建,并在 Github 上得到了社区的积极维护和更新。

项目地址:https://github.com/codelucas/newspaper

安装

通过 pip 可以轻松安装 Newspaper3k:

pip3installnewspaper3k

注意:请确保使用 pip3 命令安装 newspaper3k,而不是 newspaper

基本用法

使用新闻源

使用 Newspaper3k 搭建一个新闻源,我们可以抽取它的所有文章和分类链接:

importnewspaper cnn_paper=newspaper.build('http://cnn.com') forarticleincnn_paper.articles: print(article.url) forcategoryincnn_paper.category_urls(): print(category)

处理单篇文章

处理新闻文章主要涉及几个关键步骤:下载、解析和自然语言处理。以下是针对单个文章操作示例:

fromnewspaperimportArticle url='http://fox13now.com/2013/12/30/new-year-new-laws-obamacare-pot-guns-and-drones/' article=Article(url) #下载文章 article.download() #解析文章 article.parse() #获取作者 print(article.authors) #获取发布日期 print(article.publish_date) #获取顶部图片 print(article.top_image) #文章摘要 article.nlp() print(article.summary)

注意:使用 nlp,需要下载 NLTK 数据,可能会比较慢

详细信息可参考:https://www.nltk.org/data.html

多语言

Newspaper3k 支持多种语言,包括但不限于中文、英文和阿拉伯语。它可以无缝提取和检测语言,如果没有指定语言,Newspaper3k 将尝试自动检测:

fromnewspaperimportArticle url="https://news.sina.com.cn/c/2024-01-26/doc-inaewiyx7293475.shtml" a=Article(url,language='zh')#使用中文 a.download() a.parse() print(a.text[:30]) print(a.title)

应该能输出:

1月26日,2024年春运正式启动。统筹冬季寒潮大风和海冰等 我国三大海域举行海空立体巡航及演练全力保障海上安全

实践一下

试试自己抓取一个新闻网站的文章和相关信息。

首先,选择一个新闻网站,例如 BBC 中文网。

然后使用 Newspaper3k 的API 来查看有哪些文章可用并提取它们的内容。

注意:请遵守目标网站的爬虫限制政策

总结

Newspaper3k 是一个功能强大的 Python 库,能帮助您轻松地提取和分析网络新闻文章。

使用它,你不仅可以抓取新闻内容,而且能进行深度学习,提取文章的关键信息。

此外,它对多语言和并行处理的支持使它成为处理大规模新闻数据的一个理想工具。有了 Newspaper3k,世界新闻的门户轻轻松松就可以打开了。

比心!


示例代码:
**https://github.com/alisx/amazing_python_lib/

以上就是“Newspaper3k —— 一个神奇的 Python 库”的全部内容,希望对你有所帮助。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python必备开发工具

img

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

五、Python练习题

检查学习结果。

img

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

img

最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
newspaper3k 是一种 Python ,用于从网页中提取文章内容和元数据。它可以用于爬取新闻媒体网站,并用于构建新闻聚合系统、数据挖掘、研究等领域。其实现方式主要包括以下几个步骤: 1. 安装 newspaper3k:可以通过 pip 安装 newspaper3k ,命令为 `pip install newspaper3k`。 2. 导入 newspaper3k :在 Python 中导入 newspaper3k ,命令为 `from newspaper import Article`。 3. 创建 Article 对象:创建一个 Article 对象,用于存储要提取的网页内容和元数据。可以使用 `Article(url)` 方法,将需要提取的网页的 URL 作为参数传入,创建一个 Article 对象。 4. 下载并解析网页:使用 `download()` 方法下载网页内容,并使用 `parse()` 方法解析网页内容和元数据。 5. 获取文章信息:使用 Article 对象的各种属性和方法,获取文章的标题、作者、发布日期、正文内容等信息。例如,使用 `title` 属性获取文章的标题,使用 `authors` 属性获取文章的作者,使用 `publish_date` 属性获取文章的发布日期,使用 `text` 属性获取文章的正文内容。 6. 清洗和处理文章内容:使用 `nlp()` 方法对文章的正文内容进行清洗和处理,如去除停用词、分词、词性标注等。 7. 输出结果:将提取的文章信息和正文内容输出到屏幕或保存到文件中。 需要注意的是,使用 newspaper3k 进行网页内容提取时,需要遵守相关法律法规和网站的使用协议,不得进行未授权的网页爬取和数据挖掘活动。同时,为了提高提取效率和质量,可以使用多线程、分布式爬虫等技术手段,根据具体情况进行优化和改进。 总之,newspaper3k 是一种非常有用的 Python ,可以帮助我们从网页中提取文章内容和元数据,便于进行数据挖掘、研究等活动。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值