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快速排序代码实例
Nov 21 Python
讲解Python中for循环下的索引变量的作用域
Apr 15 Python
用实例解释Python中的继承和多态的概念
Apr 27 Python
Python写的一个定时重跑获取数据库数据
Dec 28 Python
pandas中的DataFrame按指定顺序输出所有列的方法
Apr 10 Python
python3 读取Excel表格中的数据
Oct 16 Python
在python中只选取列表中某一纵列的方法
Nov 28 Python
对python while循环和双重循环的实例详解
Aug 23 Python
给 TensorFlow 变量进行赋值的方式
Feb 10 Python
Python CSS选择器爬取京东网商品信息过程解析
Jun 01 Python
浅谈keras2 predict和fit_generator的坑
Jun 17 Python
python 多线程爬取壁纸网站的示例
Feb 20 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 截取字符串函数整理(支持gb2312和utf-8)
2010/02/16 PHP
PHP中如何判断AJAX提交的数据
2012/02/05 PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
2014/04/28 PHP
基于php的CMS中展示文章类实例分析
2015/06/18 PHP
php strftime函数获取日期时间(switch用法)
2018/05/16 PHP
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
用jquery.sortElements实现table排序
2014/05/04 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
2014/08/22 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
JS实现含有中文字符串的友好截取功能分析
2017/03/13 Javascript
微信小程序class封装http代码实例
2019/08/24 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
2020/09/21 Javascript
Python设计模式之MVC模式简单示例
2018/01/10 Python
pandas.DataFrame 根据条件新建列并赋值的方法
2018/04/08 Python
python数字图像处理之高级形态学处理
2018/04/27 Python
pandas 实现字典转换成DataFrame的方法
2018/07/04 Python
pandas去重复行并分类汇总的实现方法
2019/01/29 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
2020/09/23 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
2020/10/12 Python
python xlsxwriter模块的使用
2020/12/24 Python
屈臣氏官方旗舰店:亚洲享负盛名的保健及美妆零售商
2019/03/15 全球购物
大学毕业自我鉴定范文
2014/02/03 职场文书
给学校的建议书
2014/03/12 职场文书
最经典的商业地产项目广告词
2014/03/13 职场文书
婚假请假条格式及范文
2014/04/10 职场文书
大学活动总结格式
2014/04/29 职场文书
实习推荐信
2014/05/10 职场文书
2014年减负工作总结
2014/12/10 职场文书
销售业务员岗位职责
2015/02/13 职场文书
婚姻出轨保证书
2015/05/08 职场文书
教师节感想
2015/08/11 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript