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抓taobao图片爬虫
Oct 26 Python
pygame学习笔记(3):运动速率、时间、事件、文字
Apr 15 Python
python 换位密码算法的实例详解
Jul 19 Python
详解python中executemany和序列的使用方法
Aug 12 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
Apr 27 Python
python opencv实现旋转矩形框裁减功能
Jul 25 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
Aug 12 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
Oct 23 Python
Python面向对象程序设计之静态方法、类方法、属性方法原理与用法分析
Mar 23 Python
Python分类测试代码实例汇总
Jul 23 Python
selenium自动化测试入门实战
Dec 21 Python
python绘制汉诺塔
Mar 01 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排序二叉树基本功能实现方法示例
2018/05/26 PHP
推荐40款强大的 jQuery 导航插件和教程(上篇)
2012/09/14 Javascript
firefox下jquery iframe刷新页面提示会导致重复之前动作
2012/12/17 Javascript
解析jquery中的ajax缓存问题
2013/12/19 Javascript
js中继承的几种用法总结(apply,call,prototype)
2013/12/26 Javascript
常用jQuery选择器总结
2014/07/11 Javascript
Node.js的特点和应用场景介绍
2014/11/04 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
浅谈Javascript实现继承的方法
2015/07/06 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
2016/03/22 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
JavaScript数据结构之广义表的定义与表示方法详解
2017/04/12 Javascript
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
angular4自定义组件详解
2017/09/28 Javascript
基于vue中解决v-for使用报红并出现警告的问题
2018/03/03 Javascript
vue2过滤器模糊查询方法
2018/09/16 Javascript
微信小程序如何加载数据库真实数据的实现
2020/03/04 Javascript
openlayers实现图标拖动获取坐标
2020/09/25 Javascript
[03:32]2014DOTA2西雅图邀请赛 CIS外卡赛赛前black专访
2014/07/09 DOTA
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
2016/09/21 Python
python3中zip()函数使用详解
2018/06/29 Python
Python代码打开本地.mp4格式文件的方法
2019/01/03 Python
Django获取应用下的所有models的例子
2019/08/30 Python
通过python实现windows桌面截图代码实例
2020/01/17 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
如何利用python web框架做文件流下载的实现示例
2020/06/02 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
2021/02/25 Python
水果花束:Fruit Bouquets
2017/12/20 全球购物
生产部经理岗位职责
2013/12/16 职场文书
旅游管理专业个人求职信范文
2013/12/24 职场文书
转让协议书范本
2014/04/15 职场文书
工作推荐信模板
2015/03/25 职场文书
《祁黄羊》教学反思
2016/02/20 职场文书
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python