python处理html转义字符的方法详解


Posted in Python onJuly 01, 2016

本文实例讲述了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? - Stack Overflow。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python Sleep休眠函数使用简单实例
Feb 02 Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
使用python实现ANN
Dec 20 Python
Python实现的凯撒密码算法示例
Apr 12 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
Jul 20 Python
Python走楼梯问题解决方法示例
Jul 25 Python
Python django使用多进程连接mysql错误的解决方法
Oct 08 Python
python 同时运行多个程序的实例
Jan 07 Python
将自己的数据集制作成TFRecord格式教程
Feb 17 Python
python中的错误如何查看
Jul 08 Python
Python用Jira库来操作Jira
Dec 28 Python
python 破解加密zip文件的密码
Apr 22 Python
python简单读取大文件的方法
Jul 01 #Python
python编码总结(编码类型、格式、转码)
Jul 01 #Python
Python编码类型转换方法详解
Jul 01 #Python
Python面向对象编程中关于类和方法的学习笔记
Jun 30 #Python
Python中的time模块与datetime模块用法总结
Jun 30 #Python
详解Swift中属性的声明与作用
Jun 30 #Python
为Python的Tornado框架配置使用Jinja2模板引擎的方法
Jun 30 #Python
You might like
smarty section简介与用法分析
2008/10/03 PHP
PHP+AJAX实现投票功能的方法
2015/09/28 PHP
PHP中PCRE正则解析代码详解
2019/04/26 PHP
php简单检测404页面的方法示例
2019/08/23 PHP
XML+XSL 与 HTML 两种方案的结合
2007/04/22 Javascript
Microsoft Ajax Minifier 压缩javascript的方法
2010/03/05 Javascript
JavaScript 事件入门知识
2015/04/13 Javascript
手机开发必备技巧:javascript及CSS功能代码分享
2015/05/25 Javascript
通过隐藏iframe实现无刷新上传文件操作
2016/03/16 Javascript
javascript检查某个元素在数组中的索引值
2016/03/30 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
强大Vue.js组件浅析
2016/09/12 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
2017/02/20 Javascript
JS如何判断浏览器类型和详细区分IE各版本浏览器
2017/03/04 Javascript
JS表单提交验证、input(type=number) 去三角 刷新验证码
2017/06/21 Javascript
详解如何在React组件“外”使用父组件的Props
2018/01/12 Javascript
javascript少儿编程关于返回值的函数内容
2018/05/27 Javascript
使用validate.js实现表单数据提交前的验证方法
2018/09/04 Javascript
3分钟读懂移动端rem使用方法(推荐)
2019/05/06 Javascript
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
2019/10/15 Javascript
JavaScript闭包相关知识解析
2019/10/19 Javascript
[02:44]2014DOTA2 国际邀请赛中国区预选赛 大神红毯秀
2014/05/25 DOTA
[41:56]Spirit vs Liquid Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
在win和Linux系统中python命令行运行的不同
2016/07/03 Python
PyTorch-GPU加速实例
2020/06/23 Python
使用HTML5中的contentEditable来将多行文本自动增高
2016/03/01 HTML / CSS
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
英国女性时尚精品店:THE DRESSING ROOM
2018/05/23 全球购物
乌克兰时尚鞋子和衣服购物网站:Born2be
2018/05/24 全球购物
个人授权委托书范本
2014/04/03 职场文书
2015年科普工作总结
2015/07/23 职场文书
2016年暑期见闻作文
2015/11/25 职场文书
Vue CLI中模式与环境变量的深入详解
2021/05/30 Vue.js
Python基本数据类型之字符串str
2021/07/21 Python
python神经网络 使用Keras构建RNN训练
2022/05/04 Python