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中的高级函数map/reduce使用实例
Apr 13 Python
以911新闻为例演示Python实现数据可视化的教程
Apr 23 Python
Python RuntimeError: thread.__init__() not called解决方法
Apr 28 Python
详解详解Python中writelines()方法的使用
May 25 Python
Python中Iterator迭代器的使用杂谈
Jun 20 Python
python使用 HTMLTestRunner.py生成测试报告
Oct 20 Python
python存储16bit和32bit图像的实例
Dec 05 Python
Python3 文章标题关键字提取的例子
Aug 26 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
Mar 13 Python
python中urllib.request和requests的使用及区别详解
May 05 Python
Python logging模块进行封装实现原理解析
Aug 07 Python
python中time包实例详解
Feb 02 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
PHP SQLite类
2009/05/07 PHP
PHP过滤★等特殊符号的正则
2014/01/27 PHP
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
2014/12/09 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
thinkPHP5分页功能实现方法分析
2017/10/25 PHP
PHP随机数函数rand()与mt_rand()的讲解
2019/03/25 PHP
一个加载js文件的小脚本
2007/06/28 Javascript
JQUERY的属性选择符和自定义选择符使用方法(二)
2011/04/07 Javascript
两个listbox实现选项的添加删除和搜索
2013/03/01 Javascript
JavaScript学习笔记之数组去重
2016/03/23 Javascript
基于Bootstrap重置输入框内容按钮插件
2016/05/12 Javascript
浅析JavaScript中的对象类型Object
2016/05/26 Javascript
浅谈jQuery 选择器和dom操作
2016/06/07 Javascript
Javascript的动态增加类的实现方法
2016/10/20 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
2016/11/28 Javascript
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
2016/12/14 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
在vue中使用setInterval的方法示例
2019/04/16 Javascript
微信小程序渲染性能调优小结
2019/07/30 Javascript
python开启多个子进程并行运行的方法
2015/04/18 Python
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
Python的IDEL增加清屏功能实例
2017/06/19 Python
使用 Python ssh 远程登陆服务器的最佳方案
2020/03/06 Python
详解scrapy内置中间件的顺序
2020/09/28 Python
加拿大鞋网:Globo Shoes
2019/12/26 全球购物
介绍一下write命令
2014/08/10 面试题
电话销售经理岗位职责
2013/12/07 职场文书
入党积极分子自我鉴定
2014/02/18 职场文书
领导干部贪图享乐整改措施
2014/09/21 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
部门经理助理岗位职责
2015/04/13 职场文书
优秀班干部主要事迹材料
2015/11/04 职场文书
2016八一建军节慰问信
2015/11/30 职场文书
2019大学竞选班长发言稿
2019/06/27 职场文书
哪类餐饮行业,最适合在高校创业?
2019/08/19 职场文书
分析设计模式之模板方法Java实现
2021/06/23 Java/Android