python爬虫利器,你确定不看一下吗?

时间:2020-04-15
本文章向大家介绍python爬虫利器,你确定不看一下吗?,主要包括python爬虫利器,你确定不看一下吗?使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

hello,小伙伴们大家好

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

GNE是什么?

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

使用方式也特别简单:

安装

在线体验

如果你想先体验 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)

使用效果

网易新闻

今日头条

新浪新闻

凤凰网

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

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

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

原文地址:https://www.cnblogs.com/zhijieju/p/12707099.html