當前位置:首頁 » 編程語言 » python去除標簽

python去除標簽

發布時間: 2022-06-21 01:16:12

python怎麼去除多的HTML標簽

不要用soup,去了解一下re,很簡單的

Ⅱ python去掉html標簽

s='<SPANstyle="FONT-SIZE:9pt">開始1~3<SPANlang=EN-US><?xml:namespaceprefix=ons="urn:schemas-microsoft-com:office:office"/><o:p></o:p></SPAN></SPAN>'
importre
d=re.sub('<[^>]+>','',s)
printd
開始1~3

Ⅲ python正則表達式去除html標簽的屬性

importre
test='<pclass="pictext"align="center">陳細妹</p>'
test=re.sub(r'(<[^>s]+)s[^>]+?(>)',r'12',test)
print(test)

Ⅳ 請問python如何將網頁源碼中的head標簽去除

正則表達式 regular expression
r'<head[^>]*>([^<]+)</head>'

Ⅳ python 去除html標簽的幾種方法

python去除html標簽的幾種方法,代碼如下:

#!/usr/bin/python
#-*-coding:utf-8-*-
'''
Createdon2015-07-08
@author:Administrator
'''
importre

classFilterTag():
def__init__(self):
pass
deffilterHtmlTag(self,htmlStr):
'''
過濾html中的標簽
:paramhtmlStr:html字元串或是網頁源碼
'''
self.htmlStr=htmlStr
#先過濾CDATA
re_cdata=re.compile('//]*//]]>',re.I)#匹配CDATA
re_script=re.compile('<s*script[^>]*>[^<]*<s*/s*scripts*>',re.I)#Script
re_style=re.compile('<s*style[^>]*>[^<]*<s*/s*styles*>',re.I)#style
re_br=re.compile('')#處理換行
re_h=re.compile(']*>')#HTML標簽
re_comment=re.compile('')#HTML注釋
s=re_cdata.sub('',htmlStr)#去掉CDATA
s=re_script.sub('',s)#去掉SCRIPT
s=re_style.sub('',s)#去掉style
s=re_br.sub(' ',s)#將br轉換為換行
blank_line=re.compile(' +')#去掉多餘的空行
s=blank_line.sub(' ',s)
s=re_h.sub('',s)#去掉HTML標簽
s=re_comment.sub('',s)#去掉HTML注釋
#去掉多餘的空行
blank_line=re.compile(' +')
s=blank_line.sub(' ',s)
filterTag=FilterTag()
s=filterTag.replaceCharEntity(s)#替換實體
prints

defreplaceCharEntity(self,htmlStr):
'''
替換html中常用的字元實體
使用正常的字元替換html中特殊的字元實體
可以添加新的字元實體到CHAR_ENTITIES中
CHAR_ENTITIES是一個字典前面是特殊字元實體後面是其對應的正常字元
:paramhtmlStr:
'''
self.htmlStr=htmlStr
CHAR_ENTITIES={'nbsp':'','160':'',
'lt':'<','60':'<',
'gt':'>','62':'>',
'amp':'&','38':'&',
'quot':'"','34':'"',}
re_charEntity=re.compile(r'&#?(?Pw+);')
sz=re_charEntity.search(htmlStr)
whilesz:
entity=sz.group()#entity全稱,如>
key=sz.group('name')#去除&;後的字元如(""--->key="nbsp")去除&;後entity,如>為gt
try:
htmlStr=re_charEntity.sub(CHAR_ENTITIES[key],htmlStr,1)
sz=re_charEntity.search(htmlStr)
exceptKeyError:
#以空串代替
htmlStr=re_charEntity.sub('',htmlStr,1)
sz=re_charEntity.search(htmlStr)
returnhtmlStr

defreplace(self,s,re_exp,repl_string):
returnre_exp.sub(repl_string)


defstrip_tags(self,htmlStr):
'''
使用HTMLParser進行html標簽過濾
:paramhtmlStr:
'''
self.htmlStr=htmlStr
htmlStr=htmlStr.strip()
htmlStr=htmlStr.strip(" ")
result=[]
parser=HTMLParser()
parser.handle_data=result.append
parser.feed(htmlStr)
parser.close()
return''.join(result)

defstripTagSimple(self,htmlStr):
'''
最簡單的過濾html<>標簽的方法注意必須是<任意字元>而不能單純是<>
:paramhtmlStr:
'''
self.htmlStr=htmlStr
#dr=re.compile(r'<[^>]+>',re.S)
dr=re.compile(r']*>',re.S)
htmlStr=re.sub(dr,'',htmlStr)
returnhtmlStr

if__name__=='__main__':
#s=file('Google.html').read()
filters=FilterTag()
printfilters.stripTagSimple("<1>你好")

Ⅵ python語言去除文本中的p標簽

用Python語言的sub()函數替換就可以實現你的目標

具體程序如下(假設你每次從文件中讀取一行,放在line變數中)

importre

line='<p>寧波大學</p>'

regex=r'</?p>'

result=re.sub(regex,"",line,re.I)

print(result)

Ⅶ python處理是Xml文件的,刪除標簽屬性符合條件的!如<data name="test"id="

你可以使用 BeautifulSoup 套件:
安裝:
pip install bs4

如果覺得 html 解析器不敷使用,參考文檔安裝其他適合的解析器。
如果想要詳細了解 BeautifulSoup 也請參考官方文檔(有中文版本)。
測試檔:
以下是我使用的測試文件:
# delete.txt
126
147

# test.xml
<re>
<id>123</id>
<name>abc</name>
</re>
<re>
<id>126</id>
<name>abc</name>
</re>
<re>
<id>135</id>
<name>abc</name>
</re>
<re>
<id>147</id>
<name>abc</name>
</re>

代碼:
from bs4 import BeautifulSoup

with open('test.xml') as reader:
xml = reader.read()

deleted_id = []

with open('delete.txt') as reader:
for line in reader:
line = line.strip()
deleted_id.append(line)

def has_delete_id(tag):
return tag.name=='re' and tag.id.string in deleted_id

soup = BeautifulSoup(xml, 'html.parser')

tags = soup(has_delete_id)
for tag in tags:
tag.decompose()

print(soup.prettify())

程式輸出:
<re>
<id>
123
</id>
<name>
abc
</name>
</re>
<re>
<id>
135
</id>
<name>
abc
</name>
</re>

代碼說明:
首先我們從 Beautiful Soup 的套件中匯入 BeautifulSoup 類
from bs4 import BeautifulSoup

接著分別從 delete.txt 和 test.xml 中讀出要刪除的 id 和主要的 xml 內容,下一步是實體化生成一個 BeautifulSoup對象 soup, 我們採用 html.parser 解析器去解析 xml:
soup = BeautifulSoup(xml, 'html.parser')

在此我們定義了一個用於過濾的 function has_delete_id,每一個在 xml 中的tag 只要是 <re> tag 且含有想要刪除的 <id> tag 就會被檢索出來:
def has_delete_id(tag):
return tag.name=='re' and tag.id.string in deleted_id

接著 soup(has_delete_id) 會幫助我們找到欲刪除的 tag,接著走訪搜索出來的這些 tag 並呼叫方法 decompose() 來從文件中刪除該標簽。
最後 soup.prettify()可以幫助我們輸出修改後的文件。

Ⅷ python如何根據標簽屬性刪除標簽

你好:
你在del(a['style']) ;

下面再把a列印出來看看;

Ⅸ python 剔除文本中不需要的標簽和連接,提取中文和圖片的連接

import re 利用正則提取,簡單方便。

importre
text=''#待提取文本
result1=re.findall(r'([u4e00-u9fa5]+)',text)#提取中文
result2=re.findall(r'<img.*?src="(.*?)"[^>]*?>',text,re.S)#提取圖片鏈接
print(result1)
print(result2)

Ⅹ python 如何去掉提取出來的多餘的標簽

按照你的要求編寫的提取溫度的Python程序如下

import re

s='[<div class="hisdailytemp">

<span class="tred">17℃</span> ~

<span class="tblue">11℃ </span> </div>]'

regex=r'>([^ ]+?)<'

temp=re.compile(regex)

print(''.join(temp.findall(s)))

熱點內容
如何配置2檸檬酸 發布:2025-02-06 00:57:26 瀏覽:434
積木源碼 發布:2025-02-06 00:55:26 瀏覽:545
變分的運演算法則 發布:2025-02-06 00:55:21 瀏覽:775
x2哪個配置性價比高 發布:2025-02-06 00:40:12 瀏覽:109
豬哥亮訪問張菲 發布:2025-02-06 00:37:52 瀏覽:570
期貨賬戶怎麼改密碼 發布:2025-02-06 00:32:35 瀏覽:279
qq自動上傳群文件 發布:2025-02-06 00:26:25 瀏覽:111
安卓照片放在什麼地方 發布:2025-02-06 00:26:24 瀏覽:988
linux系統鏡像iso 發布:2025-02-06 00:15:39 瀏覽:188
存儲上料模塊的意義 發布:2025-02-06 00:14:14 瀏覽:125