python处理html转义字符的方法详解
(编辑:jimmy 日期: 2024/11/29 浏览:3 次 )
本文实例讲述了python处理html转义字符的方法。分享给大家供大家参考,具体如下:
最近在用Python处理网页数据时,经常遇到一些html转义字符(也叫html字符实体),例如<> 等。字符实体一般是为了表示网页中的预留字符,比如>用>表示,防止被浏览器认为是标签,具体参考w3school的HTML 字符实体。虽然很有用,但是它们会极度影响对于网页数据的解析。为了处理这些转义字符,有如下解决方案:
1、使用HTMLParser处理
import HTMLParser html_cont = " asdfg>123<" html_parser = HTMLParser.HTMLParser() new_cont = html_parser.unescape(html_cont) print new_cont #new_cont = " asdfg>123<"
转换回去(只是空格转不回去了):
import cgi new_cont = cgi.escape(new_cont) print new_cont #new_cont = " asdfg>123<"
2、直接挨个替换
html_cont = " asdfg>123<" new_cont = new_cont.replace(' ', ' ') print new_cont #new_cont = " asdfg>123<" new_cont = new_cont.replace('>', '>') print new_cont #new_cont = " asdfg>123<" new_cont = new_cont.replace('<', '<') print new_cont #new_cont = " asdfg>123<"
不知道还有没有更好的办法。
另外stackoverflow上给出了在xml中处理转义字符的解答:python - What's the best way to handle -like entities in XML documents with lxml"_blank" href="https://www.jb51.net/Special/788.htm">Python编码操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
下一篇:Python的Tornado框架实现图片上传及图片大小修改功能