新闻网站通用抽取器GNE v0.04版更新,支持提取正文图片与源代码 机器学习 开源软件 原创

kingname 11月前 4318

GeneralNewsExtractor(以下简称 GNE)是一个新闻网页通用抽取器,能够在不指定任何抽取规则的情况下,把新闻网站的正文提取出来。 

 

我们来看一下它的基本使用方法。 


安装 GNE 

使用 pip 安装:

bash pip install --upgrade git+https://github.com/kingname/GeneralNewsExtractor.git

当然你也可以使用 pipenv 安装:

bash pipenv install git+https://github.com/kingname/GeneralNewsExtractor.git#egg=gne


获取新闻网页源代码

GNE 现在不会,将来也不会提供网页请求的功能,所以你需要自行想办法获取经过渲染以后的网页源代码。你可以使用 Selenium 或者 Pyppeteer 或者直接从浏览器上复制。 这里演示如何直接从浏览器中复制网页的源代码: 

1. 在 Chrome 浏览器中打开对应页面,然后开启开发者工具,如下图所示:

2. 在Elements标签页定位到标签,并右键,选择Copy-Copy OuterHTML,如下图所示:

3. 把源代码保存为1.html 


提取正文信息 

编写如下代码: 

from gne import GeneralNewsExtractor 
with open('1.html') as f:    
    html = f.read() 
    extractor = GeneralNewsExtractor() 
    result = extractor.extract(html) 
    print(result)

运行效果如下图所示: 


这次更新了什么 

在最新更新的 v0.04版本中,开放了正文图片提取功能,与返回正文源代码功能。其中返回图片 URL 的功能在上面已经演示了,结果中的 images 字段就是正文中的图片。 

那么怎么返回正文源代码呢?只需要增加一个参数 with_body_html=True 即可: 

from gne import GeneralNewsExtractor 
with open('1.html') as f:    
    html = f.read() 
    extractor = GeneralNewsExtractor() 
    result = extractor.extract(html, with_body_html=True) 
    print(result)

运行效果如下图所示:

返回结果中的 body_html 就是正文的 html 源代码。 关于 GNE 的深入使用,可以访问GNE 的Github: https://github.com/kingname/GeneralNewsExtractor

最新回复 (28)
  • metode 2月前
    0 29
    mark,,,学习
  • kingname 9月前
    0 28
    zyyy小布 昨晚朋友圈里看到这个正式版发布了,才知道我前同事在你那儿了,世界真小,哈哈
    哈哈哈
  • 0 27
    kingname 感谢
    昨晚朋友圈里看到这个正式版发布了,才知道我前同事在你那儿了,世界真小,哈哈
  • ē腑 10月前
    0 26
    mark
  • kingname 10月前
    0 25
    alpine 之前试过几个正文提取库,都不太理想,有空试试楼主的
    我这个效果非常好。
  • 予默子 10月前
    0 24
    mark
  • alpine 10月前
    0 23
    之前试过几个正文提取库,都不太理想,有空试试楼主的
  • kingname 10月前
    0 22
    zyyy小布 刚好前段时间推荐这个给新闻爬取的同事了。
    感谢
  • zyyy小布 10月前
    0 21
    刚好前段时间推荐这个给新闻爬取的同事了。
  • kingname 10月前
    0 20
    来自山村的放牛娃 基于你之前版本 我们这边做了优化 对于带有html和准确率进行了提高
    如果可以的话,还请把优化以后的内容提个 PR。
  • 0 19
    来自山村的放牛娃 基于你之前版本 我们这边做了优化 对于带有html和准确率进行了提高
    great
  • 0 18
    基于你之前版本 我们这边做了优化 对于带有html和准确率进行了提高
  • kingname 11月前
    0 17
    l4537459 对国外新闻网站的通用性怎么样啊
    目前主要针对国内网站优化,对国外的效果暂时不太好。接下来会优化
  • l4537459 11月前
    0 16
    对国外新闻网站的通用性怎么样啊
  • kingname 11月前
    0 15
    臭弟弟 基本上无敌 有一丝丝小缺陷 ,再爬取腾讯新闻的内容时,时间和作者方面 偶尔会出现一点点误差 ,不过无伤大雅
    可以给我提issue,每周都会更新
  • 臭弟弟 11月前
    0 14
    基本上无敌 有一丝丝小缺陷 ,再爬取腾讯新闻的内容时,时间和作者方面 偶尔会出现一点点误差 ,不过无伤大雅
  • kingname 11月前
    0 13
    flyme 看介绍是个好东西
    实际上也是好东西
  • kingname 11月前
    0 12
    臭弟弟 我要是早点看到这个 就不会离职了
    现在也不晚
  • 臭弟弟 11月前
    0 11
    我要是早点看到这个 就不会离职了
  • Jane 11月前
    0 10
    支持大佬!!!
  • flyme 11月前
    1 9
    看介绍是个好东西
  • kingname 11月前
    1 8
    dirty_dan 非常好用,常见网站通杀
    感谢
  • deepall 11月前
    0 7
    厉害
  • kingname 11月前
    0 6
    sfhfpc 这个库的功能性非常强,而且实用性极高,我也推荐大家去了解 GNE 对于做舆情和新闻站爬虫的工程师来说,这个库就相当于给正在打游戏的你换上了一副机械键盘——丝滑!
    感谢2楼的肯定。
  • dirty_dan 11月前
    1 5
    非常好用,常见网站通杀
  • root 11月前
    0 4
    给大佬递烟
  • 0 3
  • sfhfpc 11月前
    2 2
    这个库的功能性非常强,而且实用性极高,我也推荐大家去了解 GNE 

    对于做舆情和新闻站爬虫的工程师来说,这个库就相当于给正在打游戏的你换上了一副机械键盘——丝滑!
返回