链氪巴士
  1. 首页
  2. 站点导航
  3. 文章
  4. 快讯
  5. 软件
  6. 书刊
  7. 关于

GeneralNewsExtractor:新闻网页正文通用抽取器Beta版

GeneralNewsExtractor是一个新闻网页正文通用抽取器的Beta版。源于知网的一篇算法论文,作者用Python实现。在原论文基础上增加了标题、发布时间和作者的自动化探测与提取功能。处于早期Demo阶段,不保证版本兼容。输入为HTML,输出为字典。有在线体验和不同安装...

访问官网 →

【Github】项目名:GeneralNewsExtractor – 新闻网页正文通用抽取器Beta版

项目简介

这个项目是一个新闻网页正文通用抽取器的Beta版。它源于作者在知网看到的一篇关于自动化抽取新闻类网站正文算法的论文,论文只阐述算法原理,作者用Python将其实现。目前在原论文正文提取基础上增加了标题、发布时间和文章作者的自动化探测与提取功能,但还处于非常早期的Demo阶段,不保证版本向下兼容。项目输入为HTML,输出为字典,需要使用者自行获取目标网站HTML,不会提供主动请求HTML的功能。

项目目的

发布出来是希望能够尽快得到大家的使用反馈,从而能够更好地有针对性地进行开发。

如何使用

在线体验

如果想先体验GNE的提取效果,可以访问http://gne.kingname.info/。一般把网页粘贴到多行文本框,点击提取按钮即可,附加更多参数可让提取更精确,具体可参阅API。

使用环境

如果想体验GNE功能,可以选择pip或者pipenv安装,例如使用pip安装:pip install –upgrade gne;使用pipenv安装:pipenv install gne。然后使用相关代码进行正文提取。示例代码:

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

更多使用说明,请参阅GNE的文档。还有提取列表页(测试版)的功能及相关代码示例。

开发环境

如果要参与项目开发,首先要安装Pipenv(若不知Pipenv是什么可点击相关链接跳转),然后按照如下步骤运行代码:

git clone https://github.com/kingname/GeneralNewsExtractor.git
cd GeneralNewsExtractor
pipenv install
pipenv shell
python3 example.py

项目代码中的example.py提供了基本使用示例,测试代码在tests文件夹中。项目输入的HTML为经过JavaScript渲染后的HTML,适用于后端渲染、Ajax异步加载等情况。还介绍了手动测试新目标网站或新闻时获取源代码的方法以及提取信息的代码示例,还有针对标题自动提取失败的解决方法等。

项目总结

这个GeneralNewsExtractor项目为新闻网页正文等信息的抽取提供了方便的工具,虽然目前只适用于新闻页的信息提取且存在一些已知问题,如非新闻页抽取结果可能不符合预期、部分新闻抽取作者可能为空字符串等,但也有相应的改进计划。欢迎大家体验这个项目,如果有任何想法或建议,欢迎在评论区留言参与讨论。

项目地址

GitHub链接直达