GNE(GeneralNewsExtractor)是一个通用新闻网站正文抽取模块,输入一篇新闻网页的 HTML, 输出正文内容、标题、作者、发布时间、正文中的图片地址和正文所在的标签源代码。GNE 在提取今日头条、网易新闻、游民星空、 观察者网、凤凰网、腾讯新闻、ReadHub、新浪新闻等数百个中文新闻网站上效果非常出色,几乎能够达到 100%的准确率。
如何安装 GNE
直接使用 pip 安装 GNE :
pip install gne
如果访问 pypi 官方源太慢,你也可以使用网易源:
pip install gne -i https://mirrors.163.com/pypi/simple/
功能特性
获取正文源代码
在 extract()
方法只传入网页源代码,不添加任何额外参数时,GNE 返回如下字段:
- title:新闻标题
- publish_time:新闻发布时间
- author:新闻作者
- content:新闻正文
- images: 正文中的图片(相对路径或者绝对路径)
可能有些朋友希望获取新闻正文所在标签的源代码,此时可以给 extract()
方法传入 with_body_html
参数,设置为 True
:
extractor = GeneralNewsExtractor()
extractor.extract(html, with_body_html=True)
完整代码
from gne import GeneralNewsExtractor
import requests
extractor = GeneralNewsExtractor()
def parse_info(html):
result = extractor.extract(html, with_body_html=True)
print(result)
def run():
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36',
}
resp = requests.get('http://www.ciotimes.com/txhhd/212465.html', headers=headers)
resp.encoding = 'utf8'
# print(resp.text)
parse_info(resp.text)
run()