用python處理html代碼的轉義與還原


用python處理html代碼的轉義與還原  

 

轉義 escape:

import cgi
s = cgi.escape("""& < >""") # s = '&amp; &lt; &gt;'
 

反轉義 unescape:

#使用標准庫
from htmllib import HTMLParser 
h = HTMLparser.HTMLParser() 
s = h.unescape('& < >')   # s = u'& < >' 
 
#使用BeautifulSoup 
from bs4 import BeautifulSoup 
soup = BeautifulSoup(html, \
      convertEntities=BeautifulSoup.HTML_ENTITIES)
 
引用於:
http://fredericiana.com/2010/10/08/decoding-html-entities-to-text-in-python/
https://wiki.python.org/moin/EscapingHtml
----------------------------------------------------------------------------------------------------------
 

Python處理HTML轉義字符

抓網頁數據經常遇到例如&gt;或者&nbsp;這種HTML轉義符,抓到字符串里很是煩人。

比方說一個從網頁中抓到的字符串

html = '&lt;abc&gt;'

用Python可以這樣處理:

import HTMLParser html_parser = HTMLParser.HTMLParser() txt = html_parser.unescape(html) #這樣就得到了txt = '<abc>'

如果還想轉回去,可以這樣:

import cgi html = cgi.escape(txt) # 這樣又回到了 html = '&lt;abc&gt'

 來回轉的功能還分了兩個模塊實現,挺奇怪。沒找到更優美的方法,歡迎補充哈~

--------------------------------------------------

 

html的escape和unescape


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM