Python处理HTML中的转义字符

最近在用python抓取网页数据时,经常遇到一些html转义字符(也叫html字符实体),例如<> 等。字符实体一般是为了表示网页中的预留字符,比如>用>表示,防止被浏览器认为是标签,具体参考w3school的HTML 字符实体。虽然很有用,但是它们会极度影响对于网页数据的解析。

比方说一个从网页中抓到的字符串

html = '<abc>'

用Python可以这样处理:

import HTMLParser
html_parser = HTMLParser.HTMLParser()
txt = html_parser.unescape(html) #这样就得到了txt = ''

如果还想转回去,可以这样:

import cgi
html = cgi.escape(txt) # 这样又回到了 html = '<abc>'

你可能感兴趣的:(Python)