写爬虫是一个发送请求,提取数据,清洗数据,存储数据的过程。在这个过程中,不同的数据源返回的数据格式各不相同,有 JSON 格式,有 XML 文档,不过大部分还是 HTML 文档,HTML 经常会混杂有转移字符,这些字符我们需要把它转义成真正的字符。
什么是转义字符
在 HTML 中 <
、>
、&
等字符有特殊含义(<,> 用于标签中,& 用于转义),他们不能在 HTML 代码中直接使用,如果要在网页中显示这些符号,就需要使用 HTML 的转义字符串(Escape Sequence),例如 <
的转义字符是 <
,浏览器渲染 HTML 页面时,会自动把转移字符串换成真实字符。
转义字符(Escape Sequence)由三部分组成:第一部分是一个 & 符号,第二部分是实体(Entity)名字,第三部分是一个分号。 比如,要显示小于号(<),就可以写<
。
Python 反转义字符串
用 Python 来处理转义字符串有多种方式,而且 py2 和 py3 中处理方式不一样,在 python2 中,反转义串的模块是 HTMLParser
。
# python2
import HTMLParser
>>> HTMLParser().unescape('a=1&b=2')
'a=1&b=2'
Python3 把 HTMLParser 模块迁移到 html.parser
# python3
>>> from html.parser import HTMLParser
>>> HTMLParser().unescape('a=1&b=2')
'a=1&b=2'
到 python3.4 之后的版本,在 html 模块新增了 unescape 方法。
# python3.4
>>> import html
>>> html.unescape('a=1&b=2')
'a=1&b=2'
推荐最后一种写法,因为 HTMLParser.unescape 方法在 Python3.4 就已经被废弃掉不推荐使用,意味着之后的版本有可能会被彻底移除。
另外,sax 模块也有支持反转义的函数
>>> from xml.sax.saxutils import unescape
>>> unescape('a=1&b=2')
'a=1&b=2'
当然,你完全可以实现自己的反转义功能,不复杂,当然,我们崇尚不重复造轮子。
相关推荐
在Python编程中,处理HTML转义字符是一项常见的任务,特别是在进行网络爬虫或者解析HTML文档时。HTML转义字符是用来避免HTML元素中的特殊字符被解释为标签或特殊符号的。例如,小于号 `在HTML中是用于开始标签的,但...
Python 转义字符逐个详解。一次性全面了解所有转义字符的含义及其用法。
### Python处理HTML转义字符的方法详解 在进行Web开发或者数据抓取的过程中,经常会遇到HTML转义字符(也称为HTML字符实体)。这类字符通常用于表示HTML文档中的特殊符号,如`, `>`, `&`等,以避免被误解释为HTML...
python字符串转义字符python字符串转移字符python字符串转义字符python字符串转义字符python字符串转义字符
什么是转义字符 在 HTML 中 <、>、& 等字符有特殊含义(<,> 用于标签中,& 用于转义),他们不能在 HTML 代码中直接使用,如果要在网页中显示这些符号,就需要...用 Python 来处理转义字符串有多种方式,而且
转义字符以反斜杠(\)开头,它告诉Python解释器后面跟着的字符应该被特殊处理。在这个"从零开始学Python编程之转义字符练习代码"中,我们可以看到几个基本的转义字符示例。 首先,我们有`\n`,这是换行符。在`...
在Python中,转义字符主要用于以下几种情况: 1. **续行符**:当反斜杠出现在行尾时,它会告诉Python接下来的一行应该与当前行连接,形成一个长字符串。例如: ```python test ='abcdefghijk' \'lmnopq' \'...
像这种情况,我们需要在字符中使用特殊字符时,就需要用到转义字符,在python里用反斜杠\转义字符。 在交互式解释器中,输出的字符串用引号引起来,特殊字符用反斜杠\转义。虽然可能和输入看上去不太一样,但是两个...
Python 转义字符是 Python 语言中的一种特殊字符,用于在字符串中表示特殊意思。这些字符都以反斜杠(\)开头,紧跟着一个或多个字符。这些转义字符的使用可以使得字符串变得更加灵活和丰富。 在 Python 中,转义...
### Python 转义字符详解 在编程语言中,转义字符是一种特殊的字符序列,用于表示那些无法直接通过键盘输入或者具有...希望本文能为你提供有关Python转义字符的全面理解,帮助你在实际开发过程中更好地利用这些特性。
以下是常见的Python转义字符: 1. `\n` - 换行符,用于在文本中创建新行。 2. `\t` - 横向制表符,用于在文本中添加水平间距,类似于键盘上的Tab键。 3. `\r` - 回车符,将光标移动到当前行的起始位置。 4. `\\` - ...
接着是转义字符的特殊用法,如果你希望在字符串中直接使用反斜杠 `\`,可以使用 `r` 前缀来创建原始字符串(raw string),这样反斜杠就不会被解释为转义字符。例如,`r"\n"` 会得到一个包含反斜杠和字母 `n` 的字符...
### Python转义字符详解 #### 一、转义字符概述 在编程语言中,转义字符是用来表示特殊字符的一种方式。Python中使用反斜杠(`\`)作为转义字符的标志,允许开发者在字符串中表示无法直接输入的特殊字符。 #### ...
Python 转义字符是指在字符串中使用特殊字符时,Python 使用反斜杠(\)转义字符。常见的转义字符有: * \(在行尾时) 续行符 * \\反斜杠符号 * \'单引号 * \"双引号 * \a响铃 * \b退格(Backspace) * \e转义 * \...