跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • GitHub 开源项目新闻类爬虫,懒人必备!
未分類
2020 年 5 月 20 日

GitHub 开源项目新闻类爬虫,懒人必备!

GitHub 开源项目新闻类爬虫,懒人必备!

資深大佬 : zhijieju 22

hello,小伙伴们大家好

今天给大家介绍的开源项目是 python 爬虫利器,使用 python 语言的小伙伴们的福利哦!假如你在工作中接到产品小姐姐的需求,需求是获取今日头条、网易新闻、游民星空、 观察者网、凤凰网、腾讯新闻、ReadHub 、新浪新闻等数百个中文新闻网站中输出正文内容、标题、作者、发布时间、正文中的图片地址和正文所在的标签源代码,你会怎么做,假如你 code 功力还没有经过九九八十一天的修炼,还没有练到元婴期,你脑子里应该想的是我要写这么多规则,可怎么办,要累死人呢!要是有一个通用的规则就好了,everybady 现在给大家介绍的这个开源项目就完美的解决了这个问题,他来了,他来了,他带着开源项目GeneralNewsExtractor走来了。

GNE 是什么?

GeneralNewsExtractor ( GNE )是一个通用新闻网站正文抽取模块,会输入一篇新闻网页的 HTML, 输出正文内容、标题、作者、发布时间、正文中的图片地址和正文所在的标签源代码。GNE 在提取今日头条、新浪,腾讯新闻等数百个中文新闻网站上效果非常出色,几乎能够达到 100%的准确率。

使用方式也特别简单:

GitHub 开源项目新闻类爬虫,懒人必备!

安装

在线体验

如果你想先体验 GNE 的提取效果,那么你可以访问: http://122.51.39.219。 一般情况下,你只需要把网页粘贴到最上面的多行文本框中,然后点 提取 按钮即可。

安装 GNE

pip install --upgrade gne 

使用 GNE

from gne import GeneralNewsExtractor html = '''经过渲染的网页 HTML 代码''' extractor = GeneralNewsExtractor() result = extractor.extract(html, noise_node_list=['//div[@class="comment-list"]']) print(result) {"title": "xxxx", "publish_time": "2020-03-21 09:00:00", "author": "yyy", "content": "zzzz", "images": ["/xxx.jpg", "/yyy.png"]} 

当然,XPath 是支持自定义规则的

from gne import GeneralNewsExtractor  extractor = GeneralNewsExtractor() html = '你的目标网页正文' result = extractor.extract(html, title_xpath='//h5/text()') print(result) 

使用效果

网易新闻 GitHub 开源项目新闻类爬虫,懒人必备! 今日头条 GitHub 开源项目新闻类爬虫,懒人必备! 新浪新闻 GitHub 开源项目新闻类爬虫,懒人必备! 凤凰网 GitHub 开源项目新闻类爬虫,懒人必备!

API

GNE 的函数原型为:

class GeneralNewsExtractor:     def extract(self, html, title_xpath='', host='', author_xpath='', publish_time_xpath='', noise_node_list=None, with_body_html=False) 

各个参数的意义如下:

  • html(str): 目标网站的源代码。
  • title_xpath(str): 新闻标题的 XPath,用于定向提取标题。
  • host(str): 图片所在的域名,例如 https://www.kingname.info, 那么,当 GNE 从新闻网站提取到图片的相对连接/images/123.png时,会把 host 拼接上去,变成https://www.kingname.info/images/123.png
  • noise_node_list(List[str]): 一个包含 XPath 的列表。这个列表中的 XPath 对应的标签,会在预处理时被直接删除掉,从而避免他们影响新闻正文的提取。
  • with_body_html(bool): 默认为 False,此时,返回的提取结果不含新闻正文所在标签的 HTML 源代码。当把它设置为 True 时,返回的结果会包含字段 body_html,内容是新闻正文所在标签的 HTML 源代码。
  • author_xpath(str): 文章作者的 XPath,用于定向提取文章作者。
  • publish_time_xpath(str): 文章发布时间的 XPath,用于定向提取文章发布时间

开源项目地址: https://github.com/kingname/GeneralNewsExtractor

有兴趣的小伙伴可以下载尝试应用一下,如果在使用期间遇到问题请在下方留言或私信我!

今天的推荐不知道大家喜欢吗?如果你们喜欢话,请在文章底部留言和点赞,以表示对我的支持,你们的留言,点赞和转发关注是我持续更新的动力哦!

GitHub 开源项目新闻类爬虫,懒人必备!

大佬有話說 (0)

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具