[648]python3 使用newspaper库提取新闻内容(readability,jparser)

2023-10-30

  • GitHub:https://github.com/codelucas/newspaper
  • Newspaper文档说明:https://newspaper.readthedocs.io/en/latest/

  • Newspaper快速入门:https://newspaper.readthedocs.io/en/latest/user_guide/quickstart.html

Newspaper是一个python3库。

注:Newspaper框架并不适用于实际工程类新闻信息爬取工作,框架不稳定,爬取过程中会有各种bug,例如获取不到url、新闻信息等,但对于想获取一些新闻语料的朋友不妨一试,简单方便易上手,且不需要掌握太多关于爬虫方面的专业知识。

安装

pip3 install newspaper3k
or 
pip3 install --ignore-installed --upgrade newspaper3k

如果文章没有指明使用的什么语言的时候,Newspaper会尝试自动识别。支持10多种语言并且所有的都是unicode编码。

import time
from newspaper import Article

url = 'https://www.chinaventure.com.cn/news/78-20190819-347269.html'
url='https://36kr.com/p/5237348'
# 创建文章对象
news = Article(url, language='zh')
# 下载网页
news.download()
## 网页解析
news.parse()
print("title=",news.title)# 获取文章标题
print("author=", news.authors)   # 获取文章作者
print("publish_date=", news.publish_date)   # 获取文章日期
# 自然语言处理
news.nlp()
print('keywords=',news.keywords)#从文本中提取关键字
print("summary=",news.summary)# 获取文章摘要
# time.sleep(30)
print("text=",news.text,"\n")# 获取文章正文

print("movies=",news.movies)   # 获取文章视频链接
print("top_iamge=",news.top_image)   # 获取文章顶部图片地址
print("images=",news.images)#从html中提取所有图像
print("imgs=",news.imgs)
print("html=",news.html)#获取html

也可以直接导入包,如果语言是一致的,也可以直接声明

import newspaper

url='http://www.coscocs.com/'
'''注:文章缓存:默认情况下,newspaper缓存所有以前提取的文章,并删除它已经提取的任何文章。
此功能用于防止重复的文章和提高提取速度。可以使用memoize_articles参数选择退出此功能。'''
news = newspaper.build(url, language='zh', memoize_articles=False)
article = news.articles[0]
article.download()
article.parse()
print('text=',article.text)
print('brand=',news.brand)  #提取源品牌
print('description=',news.description) # 提取描述
print("一共获取%s篇文章" % news.size())  # 文章的数目

# 所有文章的url
for article in news.articles:
    print(article.url)

#提取源类别
for category in news.category_urls():
    print(category)

#提取源提要
for feed_url in news.feed_urls():
    print(feed_url)

注:文章缓存:默认情况下,newspaper缓存所有以前提取的文章,并删除它已经提取的任何文章。此功能用于防止重复的文章和提高提取速度。可以使用memoize_articles参数选择退出此功能。

Requests和Newspaper结合解析正文

import requests
from newspaper import fulltext

html = requests.get('https://www.washingtonpost.com/business/economy/2019/01/17/19662748-1a84-11e9-9ebf-c5fed1b7a081_story.html?utm_term=.26198c91916f').text
text = fulltext(html)
print(text)

Google Trends信息

import newspaper

print(newspaper.languages())#获取支持的语言
print(newspaper.hot())#hot()使用公共api返回谷歌上的热门词汇列表
print(newspaper.popular_urls())#popular_urls()返回一个流行新闻源url列表

多任务

import newspaper
from newspaper import news_pool

# 创建并行任务
slate_paper = newspaper.build('http://slate.com')
tc_paper = newspaper.build('http://techcrunch.com')
espn_paper = newspaper.build('http://espn.com')

papers = [slate_paper, tc_paper, espn_paper]
news_pool.set(papers, threads_per_source=2) # (3*2) = 6 共6个线程

news_pool.join()

print(slate_paper.articles[10].html)

python-readability

github地址是:https://github.com/buriy/python-readability

安装

pip install requests
pip install readability-lxml

使用方式:

import requests
from readability import Document
response = requests.get('https://news.163.com/18/1123/13/E1A4T8F40001899O.html')
doc = Document(response.text)
print doc.title()
print doc.content()

测试结果:正文提取范围太大,且乱码,不好用,拿到的正文部分,明显有问题。而且还有乱码问题。所以,不建议使用。

参考:https://blog.csdn.net/weixin_41931602/article/details/81211253
https://blog.csdn.net/Mr_Robert/article/details/85028327
https://www.jianshu.com/p/1c12e0cc9a2e
https://newsn.net/say/python-readability.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[648]python3 使用newspaper库提取新闻内容(readability,jparser) 的相关文章

  • 线性代数——矩阵1

    矩阵 Matrix 不要把矩阵放在分母上 矩阵的概念 有m n个数排成的m行n列的数表称为m行n列的矩阵 简称m n 记作 这m n个数称为矩阵A的元素 简称为元 数aij位于矩阵A的第i行第j列 称为矩阵A的 i j 元 以数 aij为
  • GIT常用统计

    查看git上个人代码量 git log author username pretty tformat numstat awk add 1 subs 2 loc 1 2 END printf added lines s removed lin
  • va_list 详解

    VA LIST 是在C语言中解决变参问题的一组宏 VA LIST的成员 1 va list型变量 ifdef M ALPHA typedef struct char a0 pointer to first homed integer arg
  • 【Spring 核心

    IoC IoC 简介 定义 IoC 和 DI Bean IoC 容器 Ioc IoC容器 IoC 简介 定义 IoC即控制反转 Inversion of Control 缩写为 IoC IoC又称为依赖倒置原则 设计模式六大原则之一 IoC
  • 技术文档工程师笔试_如何帮助工程师制作技术文档

    技术文档工程师笔试 As discussed in my previous post technical writers are a vital part of any team They focus on creating documen
  • FPGA计数器边界问题解析

    FPGA计数器边界问题解析 一次作者在处理AMBE2000数据接收过程中 遇到一个问题 对该计数器边界总是模糊不清 现在予以说明 以警示以后工作时书写错误代码 AMBE2000数据一旦准备好后 一次会输出24个字 其中第1个字0x13ec是
  • 数智人力时代,如何通过人才精细化管理发挥员工最大效能

    人才作为企业竞争中最活跃 也最有创造力的资源要素 管理他们同样也不得马虎 一刀切和单一维度地进行人才分类 不利于员工充分发挥主观能动性 进而提升组织能力 而要让员工在工作中有成就感 获得感和主动性 就需要进行人才精细化管理 对症下药 才能实
  • thinter打开新窗口隐藏主窗口并实现窗口切换

    from tkinter import windows Tk windows geometry 500x300 windows title 主窗口 def b windows withdraw 隐藏主窗口 global root root
  • 百度AI(一)

    前言 第一步 在百度AI上注册账号 在控制台内创建属于你的相应的应用 以下是创建完成后的 API Key SecretKey 是俩个要用到的参数 根据文档 选择相应的API 人脸对比请求地址 发送请求获取 access token 注意 a
  • keepalived + lvs (DR)

    目录 一 概念 二 实验流程命令 三 实验的目的 四 实验步骤 一 概念 Keepalived和LVS Linux Virtual Server 可以结合使用来实现双机热备和负载均衡 Keepalived负责监控主备服务器的可用性 并在主服
  • MySQL —— 复合查询

    目录 MySQL复合查询 一 基本查询回顾 二 多表查询 三 自连接 四 子查询 1 单行子查询 2 多行子查询 3 多列子查询 4 在from子句中使用子查询 五 合并查询 MySQL复合查询 一 基本查询回顾 前面我们讲解的mysql表
  • 2023年——个人每日分享汇总

    摘要 今年是每日分享的第四个年头 在这几年分享中 虽然回头看不知道当时分享内容由何而感 分享内容现在也遗忘记不住 但是这个过程中能够感觉到自己的一个改变 现在的内容错别字少了 也会检查一下语句是否通顺 修行 修心 成长 价值 学到一个四阶段
  • vue过滤器和修饰符

    过滤器的作用 在我们页面显示值之前加一层过滤 展示我们过滤后的值 注意事项 过滤器可以用在两个地方 双花括号插值和 v bind 表达式 使用语法 变量 过滤器名 1 全局定义 Vue filter gettime function dat

随机推荐

  • 百度墨卡托坐标转百度经纬度坐标Python

    本文参考 https blog csdn net qq 16664325 article details 67639684 原文用的是java语言 我只是把它转成Python语言 xu 6370996 81 Sp 1 289059486E7
  • shell脚本----if(数字条件,字符串条件,字符串为空)

    二元比较操作符 比较变量或者比较数字 注意数字与字符串的区别 1 整数比较 cpp view plain copy print eq 等于 如 if a eq b ne 不等于 如 if a ne b gt 大于 如 if a gt b g
  • plt.rcParams参数详解

    plt rcParams参数详解 0 plt rcParams参数 1 Font 1 1 字体 1 2 样式 新增 0 plt rcParams参数 plt rcParams keys font 1 Font 1 1 字体 plt rcPa
  • 数字化时代-20:一张图看清中国金融市场的轮廓

    关键词 资本 金钱 金融 银行 证券 保险 财政 中国制度优势 前言 本文试图通过图解的方式 从宏观上对中国的金融市场有一个初步的认识 在金融市场上流动的鲜血是金钱 金钱是金融市场 甚至整个经济的血液 金钱的充沛的流动给整个经济注入活力 金
  • 蓝桥杯 ADV-319 VIP试题 哈密尔顿回路(试题解析)

    试题 算法提高 哈密尔顿回路 提交此题 评测记录 资源限制 时间限制 2 0s 内存限制 256 0MB 问题描述 给出一个有向图 输出这个图的一个哈密尔顿回路 输入格式 输入的第一行包含两个整数n m 分别表示图的点数和边数 接下来m行
  • Java基础-实现zip解压缩

    可实现 文件 文件夹的解压缩操作 import java io File import java io FileInputStream import java io FileOutputStream import java io IOExc
  • Flutter控件——常用控件:Text

    Text text dart 源码 const Text String this data 要显示的字符串 Key key this style 样式TextStyle this strutStyle this textAlign 文本应如
  • 【C++】IO流

    文章目录 1 自定义类型与内置类型的相互转化 1 1operator 类型 2 C 文件IO 3 C 文件IO的二进制读取和文本读取 4 stringstream 类 1 自定义类型与内置类型的相互转化 在做IO类型的OJ的时候 有多个接收
  • 代码潜在故障的动态分析

    b size large 引子 size b 大家都听说过FindBugs的大名 这是一款静态代码分析的工具 能够直接对字节码文件加以分析 并发现潜在的反模式 anti pattern 从而有效地促进代码质量的改善 但FindBugs只能用
  • 核密度估计 Kernel density estimation

    简单贝叶斯分类 对于数值属性 如果不服从正态分布 但不知道服从何种分布形式 可以采用核密度估计的方法来进行预测 1 from http baike baidu com view 3380594 htm kernel density esti
  • windows常用命令

    1 打开控制台命令窗口 Win R 2 文件 目录 cd 切换目录 例 cd 显示当前目录 例 cd 进入父目录 例 cd d d 进入上次d盘所在的目录 或在直接输入 d 例 cd d d 进入d盘根目录 例 cd d 显示上次d盘所在的
  • C/C++中二级指针传递参数【个人遇到内存值发生改变现象的记录及相关修正方法】

    目录 0 前言 1 二级指针传参奇怪现象 2 分析 3 解决方法 0 前言 在c c 中 时常会使用到主调函数通过参数去获取被调函数中的数值情况 针对这种情况 我前面也写过C C 主调函数从被调函数中获取 各种类型 数据内容方式的梳理归纳文
  • 第一章:多点触摸与手势检测

    一 响应者链 只要继承了UIResponder的对象就可作为事件的响应者 实际上UIControl继承了UIView UIView又继承了UIResponder 由此可见 所有的对象都可作为事件的响应者 当用户与某个控件交互时 该控件将作为
  • java反射取得实体类中的属性和值

    Data public class Test private String name SneakyThrows public static void main String args Test test new Test test setN
  • stm32——按键(库函数版)

    不得不说进程太慢了 感觉很慌 但是干什么事情又非常的从容 学的很慢学着学着发现 不止是要学新东西 那些 以前早该知道的东西也忘了好多 还有 一定一定要好好学习 扩展知识面 什么东西都一定要学精 因为知识的封锁真的真的很可怕 很可怕 所以一定
  • RSA非对称加密解密的实现(公钥加密私钥解密、私钥加密公钥解密:签名)java

    本文是在参考文章的基础上修改的 对下面评论的问题进行一些测试和实现 同时对一些代码增加了相关的注释方便理解 需了解的知识 base64编码 非对称加密原理 问题 1 修改公私钥还可以成功解密 通过修改密钥测试 我的是会报错的 2 私钥加密公
  • 国内云服务器、境外地区访问宝塔面板异常的解决方法

    期国内部分机房连接广东电信 或我司广东其他节点存在异常 大多表现在用户访问宝塔面板时加载软件商店慢 打不开或绑定不了账户 或登录面板首页直接报错 面板运行时发生错误 解析软件列表发生错误 已尝试自动修复 请刷新页面重试 云服务器国内 香港地
  • ensp串口登录号2000冲突无法启动路由器

    ensp串口登录号2000冲突 重启ensp就好了
  • JavaScript二十四节气算法的实现(附源码)

    上一篇讲了JavaScript公历转农历算法的实现 这篇再讲一下24节气的实现 24节气即 立春 雨水 惊蛰 春分 清明 谷雨 立夏 小满 芒种 夏至 小暑 大暑 立秋 处暑 白露 秋分 寒露 霜降 立冬 小雪 大雪 冬至 小寒 大寒 24
  • [648]python3 使用newspaper库提取新闻内容(readability,jparser)

    GitHub https github com codelucas newspaper Newspaper文档说明 https newspaper readthedocs io en latest Newspaper快速入门 https n