抓网页数据经常遇到例如>或者 这种HTML转义符,抓到字符串里很是烦人。

比方说一个从网页中抓到的字符串

html = '<abc>'

用Python可以这样处理:

importHTMLParser

html_parser =HTMLParser.HTMLParser()

txt = html_parser.unescape(html) #这样就得到了txt = ''

如果还想转回去,可以这样:

importcgi

html = cgi.escape(txt) #这样又回到了 html = '<abc&gt'

来回转的功能还分了两个模块实现,挺奇怪。没找到更优美的方法,欢迎补充哈~

--------------------------------------------------

html的escape和unescape

http://stackoverflow.com/questions/275174/how-do-i-perform-html-decoding-encoding-using-python-django

For html encoding, there's cgi.escape from the standard library:

>> help(cgi.escape)

cgi.escape = escape(s, quote=None)

Replace special characters "&", "" to HTML-safe sequences.

If the optional flag quote is true, the quotation mark character (")

is also translated.

For html decoding, I use the following:

from htmlentitydefs import name2codepoint

# for some reason, python 2.5.2 doesn't have this one (apostrophe)

name2codepoint['#39'] = 39

def unescape(s):

"unescape HTML code refs; c.f. http://wiki.python.org/moin/EscapingHtml"

return re.sub('&(%s);' % '|'.join(name2codepoint),

lambda m: unichr(name2codepoint[m.group(1)]), s)

For anything more complicated, I use BeautifulSoup.

python转义html字符串,用python处理html代码的转义与复原相关推荐

  1. python列表添加字符串_2.python基础之—列表,元组,字典,集合,字符串的使用方法...

    一.关于python序列的简介. python里面的序列大部分都可以执行,索引,切片,加,乘,检查长度,以及检查某个成员是否存在,甚至还可以找出这个序列中最小的元素和最大的元素,并且序列都是可迭代的. ...

  2. python formatters 与字符串 小结 (python 2)

    最近学习python 2 ,觉得有必要小结一下关于字符串处理中的formatters, 转载请声明本文的引用出处:仰望大牛的小清新 0.%进行变量取值使用的时机 在python中,如果我们只是需要在字 ...

  3. python 变量转字符串_[Python Basic] 字符串处理以及类型转换 2

    本节内容涉及函数稍多, 需要慢点消化, 一如既往的, 我们不仅说说 python 的最小必要知识, 也讲讲编程英语. Python内置方法和函数 续接上节课,我们还可以使用Python内置的方法和函数 ...

  4. python 字节和字符串区别,Python中字节串和字符串,不是一个概念没有区别之分...

    1.字节概念 字节(Byte )是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数字串,是构成信息的一个小单位.最常用的字节是八位的字节,即它包含八位的二进制数. 位:( ...

  5. python基础学习--字符串和文件数据处理--附代码

    一. 有两行数据,存在test_data.txt: param:{"phone":"18688773467","pwd":"123 ...

  6. python获取月份字符串_python - python从字符串获取日期 - 堆栈内存溢出

    使用时间timestring : import timestring dt_1 = "Fri, 13 Apr 2018 13:13:12 +0000 (UTC)" dt_2 = & ...

  7. python 子字符串 位置_python查找子字符串位置Python变量和数据类型详解

    Python变量和数据类型 Python中数据类型 Python之print语句 Python的注释 Python中什么是变量 Python中定义字符串 Python中raw字符串与多行字符串 Pyt ...

  8. python时间日期字符串各种

    python时间日期字符串各种 python时间日期字符串各种 第一种 字符串转换成各种日期 time 库 # -*- coding: utf-8 -*- import time, datetime ...

  9. 如何在Python中拆分字符串

    使用字符串时,常见的操作之一是使用给定的分隔符将字符串拆分为子字符串数组.在本文中,我们将讨论如何在Python中拆分字符串. PYthon学习企鹅裙:88198-2657 领取python自动化编程 ...

最新文章

  1. Git基础 1 ---- 版本控制系统的介绍
  2. Fiddler抓包工具详解(五)(IOS、安卓抓包+fildder插件)
  3. WINCE恢复默认HIVE注册表的方法
  4. 获取时间,并将时间的空格和特殊字符去掉,作为一个变量来使用
  5. openstreetmap_OpenStreetMap成立10周年,开源医疗设备等等
  6. Python模拟大整数乘法的小学竖式计算过程
  7. Win10下python不同版本同时安装并解决pip共存问题
  8. JSP初学大全!!带连接数据库例子
  9. Win32 Console Application、Win32 Application、MFC三者之间的联系和区别
  10. 大一计算机基础教程期末考试,大一大学计算机基础教程期末考试题.doc
  11. 风行状告芒果卫视,电视台“耍霸道”屡禁不止?
  12. 傅盛:认知升级三部曲(深度好文)
  13. 学习笔记:新技术与新趋势(演讲者:王煜全-海银资本合伙人)
  14. 全屏背景图移动端滚动时白底问题
  15. 忆黄霑(文/林青霞)
  16. React报错:Error: Too many re-renders. React limits the number of renders to prevent an infinite loop.
  17. Centos7配置 yum代理
  18. deepin 下 WPS for linux字体显示问题[已解决]
  19. 【Jmeter】分布式测试--单机均衡负载压测
  20. win10计算机右键属性打不开,右键电脑属性打不开|解决win10系统我的电脑属性打不开...

热门文章

  1. uniapp下导航栏自定义多按钮单击事件
  2. 苹果wwdc20:界面交互设计-庞姿姿
  3. java获取当前日期的前一天日期,Java核心知识点
  4. Laravel 构造函数里面重定向跳转无反应【原创】
  5. 【linux工具】Tmux简明教程
  6. 高级投资经理 (职位编号:01)深圳景晖和元股权投资管理有限公司 查看所有职位
  7. pointer-events: none。 影子属性。 解决遮罩层下面图片或文字超链接无法选中执行功能
  8. jQuery隐藏元素防止页面抖动控制
  9. CentOS服务器相关教程
  10. 2019学UI设计就业前景如何