[英]Python - Scrubbing tags from HTML Text using Python 3.6
我正在嘗試創建一個程序,該程序可以“查找”指定的HTML標記,並用其他方式“替換”這些標記(使用作為字符串導入的HTML文本)。
免責聲明:我是python的新手,所以我可能缺少明顯的東西。 另外-基於以前類似的主題,我推測利用正則表達式模塊可能最適合該項目(不過,我會提出其他建議)。
這是我的“輸入”文本:
<p align="left"><span style="font-family: Arial,Arial; font-size: 12px; color: #ffffff;">Example Company | Technical How-To</span></p>
這是我想要的“輸出”文本:
<p>Example Company | Technical How-To</p>
這是我的“輸出”文本的內容:
</p>
這是我用來獲取答案的python代碼:
while True:
import re
print("Enter HTML Text Below")
original = input("")
def cleaner(raw_html):
cleantextp = re.sub('<p.*?>', '<p>', raw_html)
cleantextspan1 = re.sub('<span.*?>', '', cleantextp)
cleantextspan2 = re.sub('<.*?/span>', '', cleantextspan1)
return cleantextspan2
if len(original) > 0:
print(cleaner(original))
else:
print("Please try again")
對我來說,奇怪的是,當我“分離”我定義的函數並一次“清理”一個指定的標簽時,它似乎可以工作。 例:
while True:
import re
print("Enter HTML Text Below")
original = input("")
def cleaner(raw_html):
cleantextp = re.sub('<p.*?>', '<p>', raw_html)
return cleantextp
if len(original) > 0:
print(cleaner(original))
else:
print("Please try again")
這段代碼為我提供了此文本(不會故意刪除<span>
標記,但不會再次返回</p>
):
<p><span style="font-family: Arial,Arial; font-size: 12px; color: #ffffff;">Example Company | Technical How-To</span></p>
所以基本上,我被困住了。 我嘗試了幾種不同的方法,包括為每個標簽定義一個單獨的“干凈”函數,以及依次通過每個函數迭代“輸入”文本,但是我沒有任何運氣。 有什么建議么?
BeautifulSoup,只是谷歌,不客氣=)
使用Python的beautfulsoup庫 。 (您需要先安裝它)。
網絡上到處都是示例,可以准確地找到您所需要的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.