Python如何提取html中文本到txt
更新時(shí)間:2023年01月03日 14:14:17 作者:彳亍261
這篇文章主要介紹了Python如何提取html中文本到txt問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
Python提取html中文本到txt
正則去標(biāo)簽方式
# -*- 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正則內(nèi)容
其中:
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""] [""小木蟲(chóng)""] ,accounts :in_main [""2012207469@tju.edu.c'
##mtch = reg.match(msg)
##print(mtch.group(1))
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實(shí)現(xiàn)對(duì)輸入的密文加密
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)對(duì)輸入的密文加密,分析python求解簡(jiǎn)單加密問(wèn)題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03
用python介紹4種常用的單鏈表翻轉(zhuǎn)的方法小結(jié)
這篇文章主要介紹了用python介紹4種常用的單鏈表翻轉(zhuǎn)的方法小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
python使用 multiprocessing 多進(jìn)程處理批量數(shù)據(jù)的示例代碼
這篇文章主要介紹了使用 multiprocessing 多進(jìn)程處理批量數(shù)據(jù)的示例代碼,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09
Anaconda配置各版本Pytorch的實(shí)現(xiàn)
本文是整理目前全版本pytorch深度學(xué)習(xí)環(huán)境配置指令,以下指令適用Windows操作系統(tǒng),在Anaconda Prompt中運(yùn)行,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
python 刪除系統(tǒng)中的文件(按時(shí)間,大小,擴(kuò)展名)
這篇文章主要介紹了python 如何刪除系統(tǒng)中的文件,分別按時(shí)間,大小,擴(kuò)展名刪除,滿足不同需求,感興趣的朋友可以了解下2020-11-11
實(shí)例講解Python設(shè)計(jì)模式編程之工廠方法模式的使用
這篇文章主要介紹了Python設(shè)計(jì)模式編程之工廠方法模式的運(yùn)用實(shí)例,文中也對(duì)Factory Method模式中涉及到的角色作出了解析,需要的朋友可以參考下2016-03-03

