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 Tkinter GUI编程入门介绍
Mar 10 Python
python中尾递归用法实例详解
Apr 28 Python
Python+django实现文件上传
Jan 17 Python
python配置grpc环境
Jan 01 Python
解决python中的幂函数、指数函数问题
Nov 25 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
Feb 03 Python
python yield和Generator函数用法详解
Feb 10 Python
基于Python数据结构之递归与回溯搜索
Feb 26 Python
Python第三方包PrettyTable安装及用法解析
Jul 08 Python
Python字符串格式化方式
Apr 07 Python
python使用shell脚本创建kafka连接器
Apr 29 Python
Python find()、rfind()方法及作用
Dec 24 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.0对象模型深度探索之类的静态成员
2008/03/27 PHP
在命令行下运行PHP脚本[带参数]的方法
2010/01/22 PHP
Ubuntu中搭建Nginx、PHP环境最简单的方法
2015/03/05 PHP
php 解决扫描二维码下载跳转问题
2017/01/13 PHP
php PDO实现的事务回滚示例
2017/03/23 PHP
用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
2010/06/19 Javascript
原始XMLHttpRequest方法详情回顾
2013/11/28 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
js函数调用的方式
2014/05/06 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
2014/12/08 Javascript
javascript里使用php代码实例
2014/12/13 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
详解AngularJS的通信机制
2015/06/18 Javascript
js基于setTimeout与setInterval实现多线程
2016/06/17 Javascript
JavaScript实现自动切换图片代码
2016/10/11 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
2016/11/01 Javascript
JavaScript实现鼠标点击导航栏变色特效
2017/02/08 Javascript
微信小程序实现轮播图效果
2017/09/07 Javascript
Angular如何在应用初始化时运行代码详解
2018/06/11 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
详解VUE前端按钮权限控制
2019/04/26 Javascript
JS实现滑动导航效果
2020/01/14 Javascript
[10:34]DOTA2上海特级锦标赛全纪录
2016/03/25 DOTA
简单解决Python文件中文编码问题
2015/11/22 Python
简单实现python收发邮件功能
2018/01/05 Python
python @property的用法及含义全面解析
2018/02/01 Python
python print出共轭复数的方法详解
2019/06/25 Python
python切片的步进、添加、连接简单操作示例
2019/07/11 Python
Python多重继承之菱形继承的实例详解
2020/02/12 Python
Python3使用 GitLab API 进行批量合并分支
2020/10/15 Python
Python爬虫教程知识点总结
2020/10/19 Python
澳大利亚婴儿、幼儿和儿童在线设计师商店:Smooch Baby
2019/02/16 全球购物
师德师风自我评价范文
2014/09/11 职场文书
小学教师师德整改措施
2014/09/29 职场文书
《索溪峪的野》教学反思
2016/02/19 职场文书
SpringBoot集成MongoDB实现文件上传的步骤
2022/04/18 MongoDB