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 18 Python
python常见的格式化输出小结
Dec 15 Python
使用python实现tcp自动重连
Jul 02 Python
解读python logging模块的使用方法
Apr 17 Python
python版大富翁源代码分享
Nov 19 Python
python面试题Python2.x和Python3.x的区别
May 28 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
Aug 06 Python
如何更改 pandas dataframe 中两列的位置
Dec 27 Python
Django框架配置mysql数据库实现过程
Apr 22 Python
浅谈sklearn中predict与predict_proba区别
Jun 28 Python
利用Python实现Json序列化库的方法步骤
Sep 09 Python
python spilt()分隔字符串的实现示例
May 21 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 ImageMagick windows下安装教程
2015/01/26 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
Thinkphp整合阿里云OSS图片上传实例代码
2019/04/28 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
JavaScript 继承使用分析
2011/05/12 Javascript
从URL中提取参数与将对象转换为URL查询参数的实现代码
2012/01/12 Javascript
javascript中cookie对象用法实例分析
2015/01/30 Javascript
JavaScript 里的类数组对象
2015/04/08 Javascript
基于jQuery日历插件制作日历
2016/03/11 Javascript
js流动式效果显示当前系统时间
2016/05/16 Javascript
jQuery插件简单学习实例教程
2016/07/01 Javascript
JS仿Base.js实现的继承示例
2017/04/07 Javascript
微信小程序支付及退款流程详解
2017/11/30 Javascript
详解微信小程序开发用户授权登陆
2019/04/24 Javascript
vue实现select下拉显示隐藏功能
2019/09/30 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
为什么推荐使用JSX开发Vue3
2020/12/28 Vue.js
编程语言Python的发展史
2014/09/26 Python
通过Python实现自动填写调查问卷
2017/09/06 Python
mac 安装python网络请求包requests方法
2018/06/13 Python
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
纯css3实现走马灯效果
2014/12/26 HTML / CSS
CSS3 mask 遮罩的具体使用方法
2017/11/03 HTML / CSS
html5使用canvas实现跟随光标跳动的火焰效果
2014/01/07 HTML / CSS
HTML5拖放API实现自动生成相框功能
2020/04/07 HTML / CSS
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
英国性感内衣和睡衣品牌:Bluebella
2018/01/26 全球购物
公司活动策划方案
2014/01/13 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
电影红河谷观后感
2015/06/11 职场文书
小学教师读书笔记
2015/07/01 职场文书
2019最新劳动仲裁申请书!
2019/07/08 职场文书
Python 高级库15 个让新手爱不释手(推荐)
2021/05/15 Python
Python中的np.argmin()和np.argmax()函数用法
2021/06/02 Python
java开发双人五子棋游戏
2022/05/06 Java/Android