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实现网络测试的脚本分享
May 26 Python
python删除不需要的python文件方法
Apr 24 Python
Python 获取ftp服务器文件时间的方法
Jul 02 Python
python动态进度条的实现代码
Jul 03 Python
利用Python检测URL状态
Jul 31 Python
Python 函数list&amp;read&amp;seek详解
Aug 28 Python
win10下python2和python3共存问题解决方法
Dec 23 Python
pandas 对group进行聚合的例子
Dec 27 Python
Python openpyxl模块原理及用法解析
Jan 19 Python
PyCharm 在Windows的有用快捷键详解
Apr 07 Python
TensorFlow打印输出tensor的值
Apr 19 Python
详细分析Python collections工具库
Jul 16 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版(5)
2006/10/09 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
2011/08/02 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
php导入excel文件到mysql数据库的方法
2015/01/14 PHP
详解PHP数据压缩、加解密(pack, unpack)
2016/12/17 PHP
JS Array对象入门分析
2008/10/30 Javascript
读jQuery之三(构建选择器)
2011/06/11 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
2013/11/14 Javascript
原始XMLHttpRequest方法详情回顾
2013/11/28 Javascript
jQuery写fadeTo示例代码
2014/02/21 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
2015/06/01 Javascript
超详细的javascript数组方法汇总
2015/11/21 Javascript
详解javascript跨浏览器事件处理程序
2016/03/27 Javascript
浅析在javascript中创建对象的各种模式
2016/05/06 Javascript
微信小程序 出现错误:{&quot;baseresponse&quot;:{&quot;errcode&quot;:-80002,&quot;errmsg&quot;:&quot;&quot;}}解决办法
2017/02/23 Javascript
canvas压缩图片转换成base64格式输出文件流
2017/03/09 Javascript
详谈innerHTML innerText的使用和区别
2017/08/18 Javascript
Angular利用trackBy提升性能的方法
2018/01/26 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
2018/03/28 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
vue-cli3.0使用及部分配置详解
2018/08/29 Javascript
新版小程序登录授权的方法
2018/12/12 Javascript
json数据格式常见操作示例
2019/06/13 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
jquery检测上传文件大小示例
2020/04/26 jQuery
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
Python实现文件信息进行合并实例代码
2018/01/17 Python
对Python中class和instance以及self的用法详解
2019/06/26 Python
Python高级特性 切片 迭代解析
2019/08/23 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
如何利用Python 进行边缘检测
2020/10/14 Python
咖啡书吧创业计划书
2014/01/13 职场文书
校园学雷锋活动月总结
2014/03/09 职场文书
创先争优活动党员公开承诺书
2014/08/29 职场文书
运动会广播稿20字
2015/08/19 职场文书
基于Pygame实现简单的贪吃蛇游戏
2021/12/06 Python