【自然语言处理 数据清洗】清洗文本中html标签

2024-09-07 06:32

本文主要是介绍【自然语言处理 数据清洗】清洗文本中html标签,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一段本文中既有文字,又有很多html标签,很乱,需要进行清洗,下面是用python 进行过滤辣鸡html的脚本。

# -*- coding:utf-8 -*-import pandas as pd
import reimport jiebadef filter_tags(htmlstr):"""# Python通过正则表达式去除(过滤)HTML标签:param htmlstr::return:"""# 先过滤CDATAre_cdata = re.compile('//<!\CDATA\[[ >]∗ //\CDATA\[[ >]∗ //\\] > ',re.I) #匹配CDATAre_script = re.compile('<\s*script[^>]*>[^<]*<\s*/\s*script\s*>', re.I)# Scriptre_style = re.compile('<\s*style[^>]*>[^<]*<\s*/\s*style\s*>', re.I)# stylere_br = re.compile('<br\s*?/?>')# 处理换行re_h = re.compile('</?\w+[^>]*>')# HTML标签re_comment = re.compile('<!--[^>]*-->')# HTML注释s = re_cdata.sub('', htmlstr)# 去掉CDATAs = re_script.sub('', s)  # 去掉SCRIPTs = re_style.sub('', s)# 去掉styles = re_br.sub('\n', s)# 将br转换为换行s = re_h.sub('', s)  # 去掉HTML 标签s = re_comment.sub('', s)# 去掉HTML注释# 去掉多余的空行blank_line = re.compile('\n+')s = blank_line.sub('\n', s)s = replaceCharEntity(s)  # 替换实体return sdef replaceCharEntity(htmlstr):""":param htmlstr:HTML字符串:function:过滤HTML中的标签"""CHAR_ENTITIES = {'nbsp': ' ', '160': ' ','lt': '<', '60': '<','gt': '>', '62': '>','amp': '&', '38': '&','quot': '"', '34': '"', }re_charEntity = re.compile(r'&#?(?P<name>\w+);')sz = re_charEntity.search(htmlstr)while sz:entity = sz.group()  # entity全称,如>key = sz.group('name')  # 去除&;后entity,如>为gttry:htmlstr = re_charEntity.sub(CHAR_ENTITIES[key], htmlstr, 1)sz = re_charEntity.search(htmlstr)except KeyError:# 以空串代替htmlstr = re_charEntity.sub('', htmlstr, 1)sz = re_charEntity.search(htmlstr)return htmlstrdef repalce(s, re_exp, repl_string):return re_exp.sub(repl_string,s)def Cleaning_data(x):m2=str(x).replace('<p>&nbsp; &nbsp; &nbsp; &nbsp;','').replace('</p><p><br></p>','').replace('<br>','').replace('</p>','').replace('<p>','').replace('       ','').replace('[图片]','').strip()m3=filter_tags(m2)m4=replaceCharEntity(m3)print(m4)if __name__ == '__main__':# 读取数据data = pd.read_csv('C:\\Users\\xiaohu\\Desktop\\香蕉球用户话题\\香蕉球用户话题.csv')# print(data)for each in data.iloc[:,3]:# print(each)Cleaning_data(each)

这篇关于【自然语言处理 数据清洗】清洗文本中html标签的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1144323

相关文章

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ

Python实现将实体类列表数据导出到Excel文件

《Python实现将实体类列表数据导出到Excel文件》在数据处理和报告生成中,将实体类的列表数据导出到Excel文件是一项常见任务,Python提供了多种库来实现这一目标,下面就来跟随小编一起学习一... 目录一、环境准备二、定义实体类三、创建实体类列表四、将实体类列表转换为DataFrame五、导出Da

Python视频处理库VidGear使用小结

《Python视频处理库VidGear使用小结》VidGear是一个高性能的Python视频处理库,本文主要介绍了Python视频处理库VidGear使用小结,文中通过示例代码介绍的非常详细,对大家的... 目录一、VidGear的安装二、VidGear的主要功能三、VidGear的使用示例四、VidGea

Python实现数据清洗的18种方法

《Python实现数据清洗的18种方法》本文主要介绍了Python实现数据清洗的18种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录1. 去除字符串两边空格2. 转换数据类型3. 大小写转换4. 移除列表中的重复元素5. 快速统

Python结合requests和Cheerio处理网页内容的操作步骤

《Python结合requests和Cheerio处理网页内容的操作步骤》Python因其简洁明了的语法和强大的库支持,成为了编写爬虫程序的首选语言之一,requests库是Python中用于发送HT... 目录一、前言二、环境搭建三、requests库的基本使用四、Cheerio库的基本使用五、结合req

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

Python数据处理之导入导出Excel数据方式

《Python数据处理之导入导出Excel数据方式》Python是Excel数据处理的绝佳工具,通过Pandas和Openpyxl等库可以实现数据的导入、导出和自动化处理,从基础的数据读取和清洗到复杂... 目录python导入导出Excel数据开启数据之旅:为什么Python是Excel数据处理的最佳拍档