提取数据之goose使用

1.简介

Python-goose项目是用Python重写的Goose,Goose原来是用Java写的文章提取工具。Python-goose的目标是给定任意资讯文章或者任意文章类的网页,不仅提取出文章的主体,同时提取出所有元信息以及图片等信息,支持中文网页。
Python-goose可提取的信息包括:

  • 文章主体内容
  • 文章主要图片
  • 文章中嵌入的任何Youtube/Vimeo视频
  • 元描述
  • 元标签

2.安装

virtualenv --no-site-packages goose
cd goose
#windows下
Scripts\activate
#linux下使用/bin/acitvate
git clone https://github.com/grangier/python-goose.git
cd python-goose
pip install -r requirements.txt
python setup.py install

3.使用

>>> from goose import Goose
>>> url = ‘http://edition.cnn.com/2012/02/22/world/europe/uk-occupy-london/index.html?hpt=ieu_c2‘
>>> g = Goose()
>>> article = g.extract(url=url)
>>> article.title
u‘Occupy London loses eviction fight‘
>>> article.meta_description
"Occupy London protesters who have been camped outside the landmark St. Paul‘s Cathedral for the past four months lost their court bid to avoid eviction Wednesday in a decision made by London‘s Court of Appeal."
>>> article.cleaned_text[:150]
(CNN) -- Occupy London protesters who have been camped outside the landmark St. Paul‘s Cathedral for the past four months lost their court bid to avoi
>>> article.top_image.src
http://i2.cdn.turner.com/cnn/dam/assets/111017024308-occupy-london-st-paul-s-cathedral-story-top.jpg

  对于中文文章,需要

g = Goose({‘browser_user_agent‘: ‘Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.3
 6‘,‘stopwords_class‘:StopWordsChinese})

参考:

https://pypi.python.org/pypi/goose-extractor/

时间: 2024-10-06 16:56:22

提取数据之goose使用的相关文章

从数据库提取数据通过jstl显示在jsp页面上

从数据库提取数据通过jstl显示在jsp页面上 1.ConnectDB.java连接数据库,把数据转换成list public class ConnectDB { private final static String strDriver = "oracle.jdbc.driver.OracleDriver"; private final static String strConnect = "jdbc:oracle:thin:@localhost:1521:ORCL&quo

Ajax获取 Json文件提取数据

摘自 Ajax获取 Json文件提取数据 1. json文件内容(item.json) [ { "name":"张国立", "sex":"男", "email":"[email protected]", "url":"./img/1.jpg" }, { "name":"张铁林", "sex"

案例:Oracle dul数据挖掘 磁盘损坏dul提取数据文件中表的数据及l

通过使用Oracle DUL工具提取损坏磁盘里的数据库文件中的表及lob字段中内容 在有次8i的库恢复中,因为硬盘损坏导致几个表出现很多诡异性坏块,尝试使用dul对其进行挖掘数据,当时使用dul 9 遇到一个难题:当一张表中有lob类型,同时又有varchar2类型,而且varchar2类型数据中包含回车键,使得解决起来很麻烦(因为export_mode=false支持lob,但是不支持字符串含回车;export_mode=true支持字符串含回车,但是不支持lob),最后放弃了对部分数据的挖掘

关于从后台数据库提取数据发送到前台客户端

http://www.w3school.com.cn/php/php_ajax_database.asp http://www.w3school.com.cn/php/php_ajax_database.asp php代码在select.php中 关于从后台数据库提取数据发送到前台客户端

提取数据表保存为XML文件

1 //连接数据库 2 SqlConnection con = new SqlConnection("server=****;database=****;uid=sa;pwd=********"); 3 4 /// <summary> 5 /// 提取数据表保存为XML文件 6 /// </summary> 7 /// <param name="sender"></param> 8 /// <param name

处理文本,提取数据的脚本-主要就是用sed

处理文本,提取数据的脚本 1 #! /bin/sh 2 3 sed -i 's/<small>/\n/g' $1 | sed 's/)<\/small><\/td><td>/\n/g' 4 5 sed -i 's/.&nbsp/\n/g' $1 # 用换行符替换 6 7 sed -i '-e /;/d' $1 # 删除带有分号的行 8 9 sed -i 's/)</\n/g' $1 # 将数字两边的字符替换成换行符 10 11 sed -i '

从列表中提取数据的两种方法

从列表中提取数据除了循环外还有两种方法:过滤,列表解析式: #!/usr/bin/env python #coding:utf-8 #@Author:Andy # 生成一个随机列表:并选出其中的两大于零的数 from random import randint data = [randint(-10, 10) for i in range(1, 10)] print(data) # method 1 print("filter method:", list(filter(lambda

scrapy框架Selector提取数据

从页面中提取数据的核心技术是HTTP文本解析,在python中常用的模块处理: BeautifulSoup  非常流行的解析库,API简单,但解析的速度慢. lxml 是一套使用c语言编写的xml解析库,解析速度快,API相对比较复杂. Scrapy中的Selector类是基于lxml库建立的,并且简化了API接口.在使用的过程中先使用xpath或者css选择器选中页面中要提取的数据,然后进行提取. 提取数据 调用Selector或者SelectList对象的以下几种方法可将选中的内容进行提取

如何使用JMeter从文件中提取数据

在性能测试方面,重用响应数据至关重要.几乎(如果不是全部!)负载测试场景假设您: 从先前的响应中提取有趣的方面,并在下一个请求中重用它们(也称为相关) 确保实际响应符合预期(又称断言) 因此,如果您是性能测试工程师,那么了解如何实现此关联和断言逻辑非常重要.幸运的是,BlazeMeter的知识库和JMeter博客已经有一些关于如何做到这一点的精彩文章.请查看以下内容: 使用带有JMeter的RegEx(正则表达式提取器) - 使用Perl5样式的正则表达式解析响应 在JMeter中使用XPath