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操作mysql中文显示乱码的解决方法
Oct 11 Python
用Python从零实现贝叶斯分类器的机器学习的教程
Mar 31 Python
Python下的subprocess模块的入门指引
Apr 16 Python
一篇文章入门Python生态系统(Python新手入门指导)
Dec 11 Python
使用python画个小猪佩奇的示例代码
Jun 06 Python
django rest framework 数据的查找、过滤、排序的示例
Jun 25 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
Jul 04 Python
python SVM 线性分类模型的实现
Jul 19 Python
将python2.7添加进64位系统的注册表方式
Nov 20 Python
tensorflow 分类损失函数使用小记
Feb 18 Python
Python可以实现栈的结构吗
May 27 Python
Python 实现微信自动回复的方法
Sep 11 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 header示例代码(推荐)
2010/09/08 PHP
PHP学习之正则表达式
2011/04/17 PHP
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
php用户登录之cookie信息安全分析
2016/05/13 PHP
详解php命令注入攻击
2019/04/06 PHP
纯js实现背景图片切换效果代码
2010/11/14 Javascript
javascript闭包的高级使用方法实例
2013/07/04 Javascript
javascript几个易错点记录
2014/11/26 Javascript
JavaScript基础知识学习笔记
2014/12/02 Javascript
NodeJS学习笔记之FS文件模块
2015/01/13 NodeJs
理解Javascript图片预加载
2016/02/23 Javascript
JavaScript实现99乘法表及隔行变色实例代码
2016/02/24 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
JavaScript兼容浏览器FF/IE技巧
2016/08/14 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
JS判断非空至少输入两个字符的简单实现方法
2017/06/23 Javascript
JS跳转手机站url的若干注意事项
2017/10/18 Javascript
分析JS单线程异步io回调的特性
2017/12/01 Javascript
vue-cli脚手架的安装教程图解
2018/09/02 Javascript
vue单页面在微信下只能分享落地页的解决方案
2019/04/15 Javascript
微信小程序常见页面跳转操作简单示例
2019/05/01 Javascript
这15个Vue指令,让你的项目开发爽到爆
2019/10/11 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
2019/10/25 Javascript
vue router返回到指定的路由的场景分析
2020/11/10 Javascript
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
Python决策树和随机森林算法实例详解
2018/01/30 Python
matplotlib给子图添加图例的方法
2018/08/03 Python
Python第三方Window模块文件的几种安装方法
2018/11/22 Python
Python-Flask:动态创建表的示例详解
2019/11/22 Python
基于python计算并显示日间、星期客流高峰
2020/05/07 Python
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
普通PHP程序员笔试题
2016/01/01 面试题
会计自我鉴定
2014/02/04 职场文书
九九重阳节致辞
2015/07/31 职场文书
MySQL三种方式实现递归查询
2022/04/18 MySQL
Python日志模块logging用法
2022/06/05 Python