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
  • asp之家 网络编程 m.aspxhome.com