GNE(GeneralNewsExtractor)是一个通用新闻网站正文抽取模块,输入一篇新闻网页的 HTML, 输出正文内容、标题、作者、发布时间、正文中的图片地址和正文所在的标签源代码。GNE 在提取今日头条、网易新闻、游民星空、 观察者网、凤凰网、腾讯新闻、ReadHub、新浪新闻等数百个中文新闻网站上效果非常出色,几乎能够达到 100%的准确率。
直接使用 pip 安装 GNE :
pip install gne
如果访问 pypi 官方源太慢,你也可以使用网易源:
pip install gne -i https://mirrors.163.com/pypi/simple/
获取正文源代码
在 extract()
方法只传入网页源代码,不添加任何额外参数时,GNE 返回如下字段:
可能有些朋友希望获取新闻正文所在标签的源代码,此时可以给 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()
extract()
方法也提供了title_xpath
、author_xpath
、publish_time_xpath
、body_xpath
等参数对特殊页面进行xpath定制。