HTML 中的预留字符(如标签的小于号 < )必须被替换为字符实体( < )。 不间断空格( )

◇◆丶佛笑我妖孽 提交于 2020-02-17 05:21:45

1. 参考

HTML 字符实体

 

Python处理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'

2. 常用

显示结果描述实体名称实体编号
  空格 &nbsp; &#160;
< 小于号 &lt; &#60;
> 大于号 &gt; &#62;
& 和号 &amp; &#38;
" 引号 &quot; &#34;
' 撇号  &apos; (IE不支持) &#39;

3. 代码

 1 In [354]: soup = BeautifulSoup("&ldquo;Dammit!&rdquo; he said.")
 2 
 3 In [355]: unicode(soup)
 4 Out[355]: u'<html><body><p>\u201cDammit!\u201d he said.</p></body></html>'
 5 
 6 In [358]: str(soup)
 7 Out[358]: '<html><body><p>\xe2\x80\x9cDammit!\xe2\x80\x9d he said.</p></body></html>'
 8 
 9 In [359]: print str(soup).decode('utf-8')
10 <html><body><p>“Dammit!” he said.</p></body></html>
11 
12 In [360]: print unicode(soup)
13 <html><body><p>“Dammit!” he said.</p></body></html>

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!