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 greenlet实现原理和使用示例
Sep 24 Python
Python检测一个对象是否为字符串类的方法
May 21 Python
Python实现完整的事务操作示例
Jun 20 Python
Django实现快速分页的方法实例
Oct 22 Python
python 定义给定初值或长度的list方法
Jun 23 Python
对python numpy.array插入一行或一列的方法详解
Jan 29 Python
python字符串替换第一个字符串的方法
Jun 26 Python
Python编写通讯录通过数据库存储实现模糊查询功能
Jul 18 Python
django最快程序开发流程详解
Jul 19 Python
python修改文件内容的3种方法详解
Nov 15 Python
python正则表达式实例代码
Mar 03 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
Aug 07 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 fsockopen写的HTTP下载的类
2007/02/22 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
2015/03/13 PHP
学习php设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
Android AsyncTack 异步任务实例详解
2016/11/02 PHP
php格式文件打开的四种方法
2018/02/24 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
2019/04/15 PHP
浅谈PHP中的那些魔术常量
2020/12/02 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
JavaScript 检测浏览器和操作系统的脚本
2008/12/26 Javascript
javascript中字符串拼接需注意的问题
2010/07/13 Javascript
原生JS可拖动弹窗效果实例代码
2013/11/09 Javascript
JavaScript实现点击自动选择TextArea文本的方法
2015/07/02 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
js实现加载更多功能实例
2016/10/27 Javascript
phantomjs导出html到pdf的方法总结
2017/10/19 Javascript
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
详解Vue基于vue-quill-editor富文本编辑器使用心得
2019/01/03 Javascript
layui 实现table翻页滚动条位置保持不变的例子
2019/09/05 Javascript
在pycharm中开发vue的方法步骤
2020/03/04 Javascript
react结合bootstrap实现评论功能
2020/05/30 Javascript
vue3.0 的 Composition API 的使用示例
2020/10/26 Javascript
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
windows下wxPython开发环境安装与配置方法
2014/06/28 Python
django框架使用方法详解
2019/07/18 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
Python3.7黑帽编程之病毒篇(基础篇)
2020/02/04 Python
经贸日语专业个人求职信范文
2013/12/28 职场文书
甜美蛋糕店创业计划书
2014/01/30 职场文书
《雨霖铃》教学反思
2014/02/22 职场文书
学雷锋月活动总结
2014/04/25 职场文书
竞选大队长演讲稿
2014/04/29 职场文书
法人单位授权委托书范文
2014/10/06 职场文书
恰同学少年观后感
2015/06/08 职场文书
外科护士长工作总结
2015/08/12 职场文书
毕业生自荐求职信书写的技巧
2019/08/26 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers