Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[774]python爬虫:正文提取第三方库goose

[774]python爬虫:正文提取第三方库goose

作者头像
周小董
发布于 2020-03-23 08:47:33
发布于 2020-03-23 08:47:33
1.6K00
代码可运行
举报
文章被收录于专栏:python前行者python前行者
运行总次数:0
代码可运行

Goose 是一个 文章内容提取器 ,可以从任意资讯文章类的网页中提取 文章主体 ,并提取 标题、标签、摘要、图片、视频 等信息,且 支持中文 网页。它最初是由 http://Gravity.com 用 Java 编写的。python-goose 是用 Python 重写的版本。

有了这个库,你从网上爬下来的网页可以直接获取正文内容,无需再用 bs4 或正则表达式一个个去处理文本。

正文提取库goose,效果不是太好,要求不高的话可以试试用

python2 github:https://github.com/grangier/python-goose

python3 github:https://github.com/goose3/goose3

pypi:https://pypi.org/project/goose3/3.0.6/

安装

  • py2

网上大多数教程提到的 python-goose 项目目前只支持到 python 2.7。可以通过 pip 安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install goose-extractor

或者安装官网上的方法从源代码安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/grangier/python-goose.git
cd python-goose
pip install -r requirements.txt
python setup.py install
  • py3
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install goose3

经过我一些简单的测试,未发现两个版本在结果上有太大的差异。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding: utf-8 -*-
from goose import Goose
from goose.text import StopWordsChinese


# 初始化,设置中文分词
g = Goose({'stopwords_class': StopWordsChinese})
url = "http://www.xinhuanet.com/"
#提取,可以传入 url 或者 html 文本:
article = g.extract(url=url)
#article = g.extract(raw_html=html)
print(article.title)# 标题
print(article.cleaned_text)# 显示正文

除了标题 title 和正文 cleaned_text 外,还可以获取一些额外的信息,比如: meta_description :摘要 meta_keywords :关键词 tags :标签 top_image :主要图片 infos :包含所有信息的 dict raw_html :原始 HTML 文本

如有有些网站限制了程序抓取,也可以根据需要添加 user-agent 信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
g = Goose({'browser_user_agent': 'Version/5.1.2 Safari/534.52.7'})

如果是 goose3,因为使用了 requests 库作为请求模块,因此还可以以相似方式配置 headers、proxies 等属性。

在上述示例中使用到的 StopWordsChinese 为中文分词器,可一定程度上提高中文文章的识别准确率,但更耗时。

其他说明

1、Goose 虽然方便,但并不能保证每个网站都能精确获取,因此 适合大规模文章的采集 ,如热点追踪、舆情分析等。它只能从概率上保证大多数网站可以相对准确地抓取。我经过一些尝试后发现,抓取英文网站优于中文网站,主流网站优于小众网站,文本的提取优于图片的提取。

2、从项目中的 requirements.txt 文件可以看出,goose 中使用到了 Pillow、lxml、cssselect、jieba、beautifulsoup、nltk ,goose3 还用到了 requests ,我们之前很多文章和项目中都有所涉及:

3、如果你是使用基于 python2 的 goose,有可能会遇到 编码 上的问题(尤其是 windows 上)。这方面可以在公众号对话里回复关键词 编码 ,我们有过相关的讲解。

4、除了 goose 外,还有其他的正文提取库可以尝试,比如 python-boilerpipe、python-readability 等。

参考:https://blog.csdn.net/mouday/article/details/81211622 https://www.cnblogs.com/wangshicheng/p/10122746.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/03/19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
爬虫万金油,一鹅在手,抓遍全球
第一点没什么捷径可走,套路见得多了,也就有经验了。关于第二点,今天咱们就来介绍一个小工具,在某些需求场景下,或许可以给你省不少事。
Crossin先生
2018/10/22
9520
爬虫万金油,一鹅在手,抓遍全球
推荐几个非常实用的Python项目
这有一个基于 Pyqt5 的电影天堂电影搜索工具,再也不用忍受找电影期间的各种广告,以及各种页面跳转了。
somenzz
2020/11/25
1.4K0
推荐几个非常实用的Python项目
常用python爬虫框架整理Python中好用的爬虫框架1.Scrapy2.PySpider3.Crawley4.Portia5.Newspaper6.Beautiful Soup7.Grab8.Co
一般比价小型的爬虫需求,我是直接使用requests库 + bs4就解决了,再麻烦点就使用selenium解决js的异步 加载问题。相对比较大型的需求才使用框架,主要是便于管理以及扩展等。
若与
2018/08/03
1.6K0
常用python爬虫框架整理Python中好用的爬虫框架1.Scrapy2.PySpider3.Crawley4.Portia5.Newspaper6.Beautiful Soup7.Grab8.Co
介绍一个文本提取库 —— Goose
可以看到这里还是有一点点爬虫的味道,下面是安装依赖,可以看到很多熟悉的下载器requests、解析器lxml,图像处理Pillow,做NLP的jieba、nltk等
小歪
2018/12/21
1.1K0
玩这么久 Python ,这些好玩又实用的库一定不能错过!
图片处理 pip install pillow from PIL import Image import numpy as np a = np.array(Image.open('test.jpg')) b = [255,255,255] - a im = Image.fromarray(b.astype('uint8')) im.save('new.jpg') youtube-dl下载国外视频 pip install youtube-dl #直接安装youtube-dl pip install -U
小小科
2018/05/04
1.3K0
玩这么久 Python ,这些好玩又实用的库一定不能错过!
怎么用 Python 来朗读网页 ?
之所以用 Python,就是因为 Python 有着丰富的库,网页正文识别也不在话下。这里我尝试了 readability、goose3。
小小詹同学
2019/11/12
2.5K0
python第三方库的安装pip的使用与换源
python和其他语言一样,也有大量的第三方库,在安装python时默认都会安装pip,安装了pip后,windows在cmd.exe下可以运行pip,linux 在命令行运行pip
风之随想
2020/07/25
2.2K0
早上起床后不想动,让 Python 来帮你朗读网页吧
之所以用 Python,就是因为 Python 有着丰富的库,网页正文识别也不在话下。这里我尝试了 readability、goose3。
abs_zero
2018/09/25
1.4K0
早上起床后不想动,让 Python 来帮你朗读网页吧
这些有趣的Python库一定会亮到你
来源:苏生不惑 pip install pillow from PIL import Image import numpy as np a = np.array(Image.open('test.jpg')) b = [255,255,255] - a im = Image.fromarray(b.astype('uint8')) im.save('new.jpg') Parse Redis dump.rdb pip install rdbtool
1480
2019/06/14
1.1K0
Python之pip使用详解|附第三方库安装总结
pip是python的第三方库管理器,可以根据所开发项目的需要,使用pip相关命令安装不同库。
吾非同
2020/10/13
4.8K0
00. 这里整理了最全的爬虫框架(Java + Python)
网络爬虫技术在信息时代的大数据时代中变得越来越重要。它是一种从互联网上获取数据的技术,被广泛应用于搜索引擎、数据挖掘、商业情报等领域。
有一只柴犬
2024/06/28
1.2K0
00. 这里整理了最全的爬虫框架(Java + Python)
玩这么久 Python ,这些好玩又实用的库一定不能错过!
图片处理 pip install pillow from PIL import Image import numpy as np a = np.array(Image.open('test.jpg')) b = [255,255,255] - a im = Image.fromarray(b.astype('uint8')) im.save('new.jpg') youtube-dl下载国外视频 pip install youtube-dl #直接安装youtube-dl pip insta
马哥linux运维
2018/12/19
9610
玩这么久 Python ,这些好玩又实用的库一定不能错过!
Python一键导入所有第三方库requirements
通常我们在导入一个Python 项目中可能安装很多安装包, 再次创建虚拟环境是需要重新安装的话很麻烦也费时间, 或者项目部署的时候避免重装,那我们如何解决这个问题呢?
全栈程序员站长
2022/06/29
6190
关于自然语言处理系列-文本摘要提取
python最大的好处就是有无穷无尽的包资源,如何把这些包资源组合起来发挥其应有的价值也是一个很重要的工作。比如NLP的文本摘要提取就有几个现成的可以实现,如snownlp,goose3,sumy,虽然摘要效果未必理想。
python与大数据分析
2022/03/11
7360
关于自然语言处理系列-文本摘要提取
Python中的第三方库管理与虚拟环境#学习猿地
> pip就是python的包管理工具,解决了包直接的依赖关系。可以方便的管理第三方库(包).
学习猿地
2020/03/19
3200
Python实力操作-网页正文转换语音文件
天气真的是越来越冷啦,有时候我们想翻看网页新闻,但是又冷的不想把手拿出来,移动鼠标翻看。这时候,是不是特别想电脑像讲故事一样,给我们念出来呢?人生苦短,我有python啊,试试用 Python 来朗读给你听吧。
一墨编程学习
2018/12/24
1.5K0
python自制有声小说
最近工作中测试ASR,语音识别系统。人工读太累,想自动化来实现。给一段text,能给我发出正确的声音,然后按住按钮,产品能够录制下来并且正常识别。
赵云龙龙
2020/08/13
4.6K1
pycharm无法使用第三方库_pycharm第三方库安装路径
有时候更新第三方库一直失败,猜测是源的问题,换成豆瓣的源后依然更新不了,参照网上搜索最后解决了问题,这里留个解决方法。
全栈程序员站长
2022/09/27
7280
pycharm无法使用第三方库_pycharm第三方库安装路径
那些有趣/用的 Python 库
图片处理 pip install pillowfrom PIL import Imageimport numpy as np a = np.array(Image.open('test.jpg')) b = [255,255,255] - a im = Image.fromarray(b.astype('uint8')) im.save('new.jpg') youtube-dl下载国外视频 pip install youtube-dl #直接安装youtube-dl pip install -U you
小莹莹
2018/04/24
1.4K0
那些有趣/用的 Python 库
Python爬虫框架资源集合,包括Scrapy、PySpider等
scrapy - 最出名的网络爬虫,一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。官方主页,Scrapy 轻松定制网络爬虫 - 教程,Scrapy 中文指南 。 BeautifulSoup - Beautifu Soup不完全是一套爬虫工具,需要配合urllib使用,而是一套HTML/XML数据分析,清洗和获取工具。 python-goose - Python-Goose用Python重写,依赖了Bea
Python中文社区
2018/01/31
1.9K0
Python爬虫框架资源集合,包括Scrapy、PySpider等
推荐阅读
相关推荐
爬虫万金油,一鹅在手,抓遍全球
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验