python网页自动摘要和关键词提取

如何利用Python实现文本的自动摘要,代码全程示例 根据前面的预处理,我们可以得到一个文本列表,其中每个元素都是一个文本字符串。接下来,我们需要选择一个合适的摘要生成算法来生成摘要。TF-IDF算法TF-IDF算法是一种常用的文本摘要算法,它基于文本频率和权重来计算摘要。其中,文本频率是指某个词在文本中出现的次数,文本权重是指一个词对整篇文本的重要性。下面是一个使用TF-IDF算法生成摘要的示例代码。将文本传递给TF-IDF算法,得到每个词在文本中的权重和频率。然后,选择权重最高的前几个词作为摘要。 阅读详情

 

最近准备用django写一个CMS系统,把单位的网页迁移过去,在网上找了一个博客系统,但是不太满意,摘要和tags都需要自己输入,目标就是把他们实现自动化。

之前搞爬虫接触过类似的库,readability,goose等都可以实现文本摘要,jieba具有提取tags的功能。

goose主要作用是根据网址提取文本和标题。主要用的库有urllib2,beautifulsoup;有些网页用goose提取不到正文,只能获得标题,因此用在内容也上比较好,目录页、主页效果不太好。

用法如下:

 

from goose import Goose
from goose.text import StopWordsChinese
g = Goose({'browser_user_agent': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) ','stopwords_class': StopWordsChinese})
article = g.extract(url=url)
url = 'http://blog.youkuaiyun.com/u011617072/article/details/12624855'
print article.titleprint article.cleaned_text[:]

 

 

 


 

 

goose其实不怎么满足需求,简单点的还有html2text,或者用htmlparse,甚至简单粗暴的正则表达式。

 

# -*- coding: utf-8 -*-
from HTMLParser import HTMLParser

class MLStripper(HTMLParser):
    def __init__(self):
        self.reset()
        self.fed = []
    def handle_data(self, d):
        self.fed.append(d)
    def get_data(self):
        return ''.join(self.fed)

def strip_tags(html):
    s = MLStripper()
    s.feed(html)
    return s.get_data()


提取关键词用jieba比较简单,默认提供TF/IDF权重最高的20个词。

 

 

import jieba
import jieba.analyse
def extract_tags(content,topk):
    content = content.strip()
    tags=jieba.analyse.extract_tags(content, topK=topk)
    return ','.join(tags)

 

 

 

 

 

 

 

关键词提取:TF-IDF和n-gram 一:今日相亲 搭档镇楼。 今天的头版给我漂亮的搭档,啥年芳二六、待字闺中之类的矫情话就不说了,希望看到文章的小伙子,如果对眼,请放下你手中的游戏,我可以牵线搭桥。 好好相爱,就是为民除害。 搭档是重庆妹纸,重庆妹纸长得是很水灵。 搭档给我的感觉是情商比较高,比较会捧哏,说话不会闷。 搭档身高160体重100,学历本科水瓶座,目前在重庆的银行工作。 以下为搭档的自我介绍: 性格慢热,... 阅读详情

相关推荐

Python爬虫根据关键词爬取知网论文摘要并保存到数据库中【入门必学】

由于需要一些语料做研究,语料要求是知网上的论文摘要,但是目前最新版的知网爬起来有些麻烦,所以我利用的是知网的另外一个搜索接口 比如下面这个网页: http://search.cnki.net/Search.aspx?q=肉制品 搜索出来的结果和知网上的结果几乎一样 在这个基础上,我简单看了些网页的结构,很容易就能写出爬取得代码(是最基础的,相当不完善,增加其他功能可自行增加) 网页的结构还是很...

python入门学习进阶教程 4697

python怎么重新开始_在python中创建'reset'方法以重置已编辑的字符串

我正在尝试编辑一个字符串并将其重置为原始形式。但我无法弄清楚如何制作'重置'方法。我尝试创建一个名为'original_string'的变量,并在init方法中为它分配周长'string',这样我就可以简单地将self.string分配给original_string。我也尝试在类之外创建'original_string'变量。但是在方法中,似乎我无法访问在该方法之外创建的变量。有关如何创建“重置...

weixin_39600319的博客 532

python自动抓取论文_用python抓取某期刊最近5年发表的所有文章的关键词和摘要...

在学术研究中,经常需要了解某个领域的最新发展趋势,比如说,发掘最热门、上升速度最快的几个关键词。有些学术服务网站,比如Web of Science,提供类似的服务,但一些院校并没有订购这些服务,而且使用中难免会遇到各种问题,比如定制化不足等。在这篇文章中,我们来探讨如何利用python及免费资源,进行基于论文关键词的研究趋势分析。选定期刊我想要了解国际商务(international busine...

weixin_39710295的博客 1052

python面向对象编程1

python面向对象编程1面向对象编程面向过程面向对象面向对象编程类的定义和使用类的定义数据封装对象之间的交互类命名空间与对象、实例的空间类的三大特性继承多态封装 面向对象编程 面向过程 所谓过程就是我们解决问题的步骤,一步步的按照流程走,有先后之分。整个设计就好比流水线,思维上比较机械化。 优缺点: 优点:复杂的问题流程化啊,将问题分解简化。 缺点:拓展性不好 面向对象 核心是对象。 正式的...

weixin_42209141的博客 234

机器学习系列(3)_逻辑回归应用之Kaggle泰坦尼克之灾

f作者: 寒小阳 &&龙心尘 时间:2015年10月。 出处: 声明:版权所有,转载请注明出处,谢谢。手把手机器学习之逻辑回归应用——Kaggle泰坦尼克之灾1.引言先说一句,年末双十一什么的一来,真是非(mang)常(cheng)欢(gou)乐(le)!然后push自己抽出时间来写这篇blog的原因也非常简单: 写完前两篇逻辑回归的介绍和各个角度理解之后,小伙伴们纷纷表示『好像很高级的样纸,

寒小阳 43万+

使用Linux安装yum报错 E: Unable to correct problems, you have held broken packages.

使用Linux安装yum报错 E: Unable to correct problems, you have held broken packages.

weixin_43205954的博客 2462

python中ls函数_相当于Python中R的ls()函数,用于删除所有创建的对象

这里有不同的问题。在Is this code correct?# remove all created objectsfor v in dir(): del globals()[v]不,不是的!首先dir()返回本地映射中的键。在模块级别,它与globals()相同,但不是在函数内部。接下来它包含一些您不想删除的对象,比如__builtins__。。。在Is there any function ...

weixin_39966163的博客 1590

ESP32-C61 eFuse控制器深度解析:寄存器架构与安全烧写实践

eFuse(电子熔丝)是嵌入式芯片实现硬件级不可逆配置与信任根构建的核心物理机制,其本质是通过电学编程固化关键安全参数。原理上依赖熔丝单元的单向导通/断开特性,结合Reed-Solomon纠错、多级写保护和时序可控编程,保障数据在宽温域与工艺偏差下的高可靠性。技术价值在于为Secure Boot、Flash加密、密钥隔离等安全功能提供可信锚点,支撑从启动到运行的全链路防护。典型应用场景涵盖物联网设备量产烧录、安全启动使能、MAC地址固化及抗DPA密码运算配置。本文聚焦ESP32-C61平台,深入解析其eFu

weixin_42589700的博客 123

AverageMeter-变量累计更新工具

# 记录Loss更新工具 class AverageMeter(object): def __init__(self): self.reset() def is_empty(self): return self.count == 0 def reset(self): self.val = 0 self.avg = 0 self.sum = 0 self.count = 0 .

xingghaoyuxitong的博客 748

Qt·DBus快速入门

DBus快速入门

m0_64560763的博客 2273

MFC 修改CheckBox的文本颜色方法

设置主题 这一步是必须的,不可省略。 BOOL CMFCApplication1Dlg::OnInitDialog() { CDialogEx::OnInitDialog(); // 设置此对话框的图标。 当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 // 设置主题 HWND

Kim的博客 2249

PyTeaser:5分钟快速上手Python新闻摘要神器

PyTeaser是一款强大的Python新闻摘要神器,能够帮助用户快速提取新闻文章的核心内容,节省阅读时间。无论是处理大量新闻资讯还是需要快速了解文章要点,PyTeaser都能为你提供高效的解决方案。 ## 🌟 PyTeaser简介:让新闻阅读更高效 在信息爆炸的时代,我们每天都被海量的新闻文章所淹没。PyTeaser作为一款专注于新闻摘要的Python工具,通过智能算法从文章中提取关键句子

gitblog_00549的博客 489

QT-使用ECharts显示地图,还有更多惊艳的图表等待你的使用

QT-使用ECharts显示地图前言一、使用步骤1.下载示例2. QT使用HTML文件配置3.使用HTML文件4. 数据交互及自适应总结注意:这个地图是百度的在线地图,需要百度API密钥和在联网的状态下使用。离线使用图表 前言 我上文QT图表chart-饼状图,使用qt自带的图表库charts来显示图表,实现数据可视化,但是QT自带的图表库显示效果并不佳,通俗说,就是不好看。 然而,有这么一个开源图表库,图表种类极多,并且效果良好,能够实现具有很好的视觉冲击的数据可视化。 它就是Apache ECharts

博咯的博客 4898

开源项目推荐:Lassie - 网络内容检索简化工具

**Lassie** 是一个面向人类的网络内容检索Python库,致力于从网站提取基本内容信息,简化了网页数据抓取流程。该项目由Michael Helmick发起并维护,主要采用 **Python** 编程语言实现,确保了良好的可读性和广泛的适用性。 ## 核心功能 Lassie设计的核心目的是为了让开发者能够轻松地获取网页上的关键信息,如描述、标题、视频嵌入代码、图片链接等。通过简单的API

gitblog_00149的博客 357

本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印

本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印

ProceduralMan的博客 7410

两点调制原理以及RF DAC和PLL SDM两条输入路径理解

特性数据本质原始数字比特流 (0/1)平滑后的预失真波形数据连接对象Σ-Δ调制器 (SDM)的小数输入RF DAC在系统中的角色主调制路径:通过改变PLL分频比产生频率偏移辅助补偿路径:通过RF DAC产生补偿电压,校正PLL失真可否加入延时可以且必须。用于数字时序对齐,对性能无影响。绝对不可以。会导致补偿失配,严重破坏信号频谱。功能目标实现数字域的频率调制确保模拟域的波形和频谱完美因此,在您所描述的这种先进发射机架构中,2-point数据是数字指令,送给SDM;

m0_49540263的博客 604

基于Python的抽取式文本自动摘要的实现

本文介绍了基于TextRank算法的抽取式文本自动摘要实现方法。TextRank算法借鉴PageRank思想,通过构建词/句网络和迭代计算评估词语和句子的重要性。在关键词抽取中,算法过滤停用词后利用词语共现关系构建转移矩阵;在关键句抽取中,改进传统方法使用Word2Vec词向量计算句子相似度。系统采用Django框架实现Web应用,包含前端交互、后端处理和核心算法三个模块,能够自动生成文本摘要和关键词。该方法的优势在于无需训练数据且实现简单,但也存在语义理解有限等局限性。

毕业作品网站 3599

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【自然语言处理】利用 TextRank 算法提取关键词

TextRank 是一种基于 PageRank 的算法,常用于关键词提取和文本摘要。在本文中,我将通过一个关键字提取示例帮助您了解 TextRank 如何工作,并展示 Python 的实现。

Data · Model · Agent · Repeat 7232

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

TextRank揭秘:文本摘要与关键词提取的强大算法

构建图:首先,将文本中的词或句子视为图的节点,节点之间的边表示它们之间的关系。计算重要性:通过计算每个节点(词或句子)之间的关联度,来评估它们在文本中的重要性。排名算法:使用类似于PageRank的算法,根据节点的关系和邻接信息计算节点的重要性。文本摘要:自动从长文本中提取最具信息量的部分来生成摘要。关键词提取:从文本中提取最具代表性的关键词。分句与构建图:首先对文本进行分句,句子作为图中的节点,句子之间的关系可以通过句子相似度来建立。计算权重。

小蜗牛的珍贵百宝箱 1160

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

textrank算法原理与提取关键词、自动提取摘要PYTHON

首先介绍原理与概念 TextRank 算法是一种用于文本的基于图的排序算法。其基本思想来源于谷歌的 PageRank算法(其原理在本文在下面), 通过把文本分割成若干组成单元(单词、句子)并建立图模型, 利用投票机制对文本中的重要成分进行排序, 仅利用单篇文档本身的信息即可实现关键词提取、文摘。和 LDA、HMM 等模型不同, TextRank不需要事先对多篇文档进行学习训练, 因其简洁有效而得

IT届的小学生 2万+

如何用Python提取中文关键词?

本文一步步为你演示,如何用Python从中文文本中提取关键词。如果你需要对长文“观其大略”,不妨尝试一下。 2017-12-07-20-38-22-7-426487.png 需求 好友最近对自然语言处理感兴趣,因为他打算利用自动化方法从长文本里提取关键词,来确定主题。 他向我询问方法,我推荐他阅读...

weixin_33696106的博客 5337

关键词提取技术:TextRank 详解

TextRank是一种基于图的排序算法,用于从文本中提取关键词和进行自动摘要。它是受 Google 的 PageRank 算法启发而提出的。与 TF-IDF 不同,TextRank 不依赖外部语料库,也不需要训练数据。它通过构建词语之间的关系图,使用迭代算法计算每个节点(词语或句子)的重要性,从而提取文本的关键信息。关键词提取:通过分析词语之间的相邻关系,找出最重要的词语。自动摘要:通过句子之间的相似度,生成文本的摘要。

goTsHgo的博客 2971

Python 实战 | 文本分析之文本关键词提取

自然语言处理中最基本的任务就是文本词频统计和关键词提取,在过去的文章中,我们已经详细介绍了使用 Python 对文本进行词频统计的方法,通过统计词频,我们可以大致了解文章构成,并且在一定程度上了解文章的重点内容。而文本关键词提取工作则可以让我们更加直观地了解文章的主题思想,也可以用来做一些情感分析、内容摘要、文本分类聚类等文本分析工作,这也是很多学者关心的问题。

白帽阿叁的博客 3744

Python与自然语言处理案例:关键词提取

表示某个词在文档中出现的频率。: 反映了这个词在整个语料库中的普遍性,越不常见的词IDF值越高。TF-IDF就是这两个值的乘积,它可以用来评估一个词对于一个文档的重要性。有了前面的基础知识后,我们现在可以尝试构建一个简单的新闻摘要生成器。这个生成器将会根据文章内容自动生成一段简洁的摘要,其中包含最重要的信息点。为了生成摘要,我们可以采用一种简单的方法——选取包含最多关键词的句子。这里需要用到之前提到的TF-IDF技术来识别关键词。import re# 定义函数来分割句子!]', text)

master_chenchen的博客 1303

关键词提取算法

Table of Contents 概述 TF-IDF算法 传统算法 加权变种 TextRank算法 PageRank TextRank LSA/LSI/LDA算法 LSA/LSI LDA 概述 关键词是代表文章重要内容多一组词,对文本聚类、分类、自动摘要等起重要的作用。现实中大量文本不包含关键词,如果我们可以准确的将所有文档都用几个简单的关键词描述出来,就能使人们便捷地浏...

明日世界 1万+
上一篇: 在ubuntu中使用XFtp
下一篇: django简明操作(自强学堂)
mighty13
博客等级 码龄23年 728粉丝 438原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值