Python如何提取html中文本到txt
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用quad、dblquad實(shí)現(xiàn)一維二維積分的實(shí)例詳解
今天小編大家分享一篇python用quad、dblquad實(shí)現(xiàn)一維二維積分的實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11詳解如何在PyCharm控制臺(tái)中輸出彩色文字和背景
這篇文章主要介紹了詳解如何在PyCharm控制臺(tái)中輸出彩色文字和背景,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08python?實(shí)現(xiàn)dcmtk關(guān)聯(lián)pacs功能推送下拉影像(推薦)
這篇文章主要介紹了python?實(shí)現(xiàn)dcmtk關(guān)聯(lián)pacs功能?推送下拉影像,包含dcmtk關(guān)聯(lián)pacs技術(shù)筆記等相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-10-10numpy數(shù)據(jù)類型dtype轉(zhuǎn)換實(shí)現(xiàn)
這篇文章主要介紹了numpy數(shù)據(jù)類型dtype轉(zhuǎn)換實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04python 如何用urllib與服務(wù)端交互(發(fā)送和接收數(shù)據(jù))
這篇文章主要介紹了python 如何用urllib與服務(wù)端交互(發(fā)送和接收數(shù)據(jù)),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03教你怎么用python selenium實(shí)現(xiàn)自動(dòng)化測(cè)試
今天帶大家學(xué)習(xí)怎么用python selenium實(shí)現(xiàn)自動(dòng)化測(cè)試,文中有非常詳細(xì)的介紹及代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05Python?Playwright進(jìn)行常見(jiàn)的頁(yè)面交互操作
在使用?Playwright?進(jìn)行?Web?自動(dòng)化時(shí),頁(yè)面交互是核心操作之一,本文將詳細(xì)介紹如何使用?Playwright?進(jìn)行常見(jiàn)的頁(yè)面交互操作,希望對(duì)大家有所幫助2024-10-10