hello,小伙伴们大家好
今天给大家介绍的开源项目是 python 爬虫利器,使用 python 语言的小伙伴们的福利哦!假如你在工作中接到产品小姐姐的需求,需求是获取今日头条、网易新闻、游民星空、 观察者网、凤凰网、腾讯新闻、ReadHub 、新浪新闻等数百个中文新闻网站中输出正文内容、标题、作者、发布时间、正文中的图片地址和正文所在的标签源代码,你会怎么做,假如你 code 功力还没有经过九九八十一天的修炼,还没有练到元婴期,你脑子里应该想的是我要写这么多规则,可怎么办,要累死人呢!要是有一个通用的规则就好了,everybady 现在给大家介绍的这个开源项目就完美的解决了这个问题,他来了,他来了,他带着开源项目GeneralNewsExtractor走来了。
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)
网易新闻 今日头条 新浪新闻 凤凰网
GNE 的函数原型为:
class GeneralNewsExtractor:
def extract(self, html, title_xpath='', host='', author_xpath='', publish_time_xpath='', noise_node_list=None, with_body_html=False)
各个参数的意义如下:
/images/123.png
时,会把 host 拼接上去,变成https://www.kingname.info/images/123.png
开源项目地址: https://github.com/kingname/GeneralNewsExtractor
有兴趣的小伙伴可以下载尝试应用一下,如果在使用期间遇到问题请在下方留言或私信我!
今天的推荐不知道大家喜欢吗?如果你们喜欢话,请在文章底部留言和点赞,以表示对我的支持,你们的留言,点赞和转发关注是我持续更新的动力哦!