Python如何提取html中文本到txt
作者:彳亍261 时间:2022-07-03 17:44:08
Python提取html中文本到txt
正则去标签方式
# -*- coding: utf-8 -*-
import re
def html_tag_rm(content: str):
dr = re.compile(r'<[^>]+>',re.S)
return dr.sub('',content)
nltk
比较笨重
需要安装依赖 nltk, numpy, pyyaml
# -*- coding: utf-8 -*-
import nltk
def html_tag_rm(content: str):
return nltk.clean_html(content)
htmlParser
import re
from sys import stderr
from traceback import print_exc
from HTMLParser import HTMLParser
class _DeHTMLParser(HTMLParser):
def __init__(self):
HTMLParser.__init__(self)
self.__text = []
def handle_data(self, data):
text = data.strip()
if len(text) > 0:
text = re.sub('[ \t\r\n]+', ' ', text)
self.__text.append(text + ' ')
def handle_starttag(self, tag, attrs):
if tag == 'p':
self.__text.append('\n\n')
elif tag == 'br':
self.__text.append('\n')
def handle_startendtag(self, tag, attrs):
if tag == 'br':
self.__text.append('\n\n')
def text(self):
return ''.join(self.__text).strip()
def dehtml(text):
try:
parser = _DeHTMLParser()
parser.feed(text)
parser.close()
return parser.text()
except:
print_exc(file=stderr)
return text
def main():
text = r'''''
<html>
<body>
<b>Project:</b> DeHTML<br>
<b>Description</b>:<br>
This small script is intended to allow conversion from HTML markup to
plain text.
</body>
</html>
'''
print(dehtml(text))
if __name__ == '__main__':
main()
Python提取txt正则内容
其中:
pattern = re.compile(r'^.["“subject”"] [([^[])].*')
为修改的正则匹配部分
import re
import pandas as pd
with open("C:/data1.txt", 'r', encoding='UTF-8') as f:
data = f.readlines()
f.close()
tol = []
for line in data:
##s = re.findall('[\u4e00-\u9fa5]', data) print(s)
pattern = re.compile(r'^.*\[\"\"subject\"\"\] \[([^\[]*)\].*')
string = str(line)
url = re.findall(pattern,string)
if (url is not None ) and (url != '[]'):
tol.append(url)
print(tol)
pd.DataFrame(tol).to_csv('C:/tol2.csv')
##f1 = open("url.txt", "a+", encoding='utf-8')
##for urls in url:
## f1.write(urls + '\n')
##f1.close()
##reg = re.compile(r'^.*\[\"\"subject\"\"\] \[(.*)\]')
##msg = '""i;octet"" [""subject""] [""小木虫""] ,accounts :in_main [""2012207469@tju.edu.c'
##mtch = reg.match(msg)
##print(mtch.group(1))
来源:https://blog.csdn.net/chichu261/article/details/107526195
标签:Python,提取,html,文本,txt
0
投稿
猜你喜欢
python实现给scatter设置颜色渐变条colorbar的方法
2021-04-06 11:46:44
php实现统计二进制中1的个数算法示例
2024-06-05 09:39:05
利用python为PostgreSQL的表自动添加分区
2023-07-07 14:44:58
CentOS 6.6服务器编译安装lnmp(Nginx1.6.2+MySQL5.6.21+PHP5.6.3)
2023-11-15 06:40:50
django 连接数据库 sqlite的例子
2023-08-03 19:03:15
python函数局部变量用法实例分析
2023-08-24 17:50:25
PHP中定义数组常量(array常量)的方法
2023-11-23 06:16:59
浅谈Python 敏感词过滤的实现
2022-12-11 07:47:17
windows下python安装pip图文教程
2023-11-18 19:27:20
python ChainMap管理用法实例讲解
2022-05-01 19:02:22
认清区别CSS的类class和id
2007-10-08 12:02:00
python k-近邻算法实例分享
2022-03-26 14:47:17
Python学习pygal绘制线图代码分享
2022-12-02 10:51:48
Python与C++中梯度方向直方图的实现
2022-03-17 20:37:34
python中reload重载实例用法
2021-05-12 07:02:09
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
2021-08-28 21:15:07
asp 根据IP地址自动判断转向分站的代码
2011-04-14 10:51:00
Python操作MySQL数据库9个实用实例
2024-01-25 19:28:40
最简便的备份MySQL数据库的方法
2008-12-25 13:16:00
CSS经验:因为编码差异 导致IE6不能正常解析CSS文件
2010-06-06 13:55:00