【Python爬虫历程】urllib库之编码函数以及解码函数:

urlencode(编码)函数以及urlencode(解码)函数是位于urllib库下面的parse模块下面的函数,一个用来编码一个用来解码。

 

一、编码urlencode或者quote

urlencode()函数原理就是首先把中文字符转换为十六进制,然后在每个字符前面加一个标识符%。

在url中如果出现一些中文或者字符,url不识别的,则需要进行转换,使用urllib库中的urlencode函数,可以把key-value这样的

键值对转换成我们想要的格式,返回的是a=1&b=2这样的字符串,比如:

代码示例

from urllib import request
from urllib import parse

params={'name':'Demo',"age":18}
qs=parse.urlencode(params)
print(qs)

如果只想对一个字符串进行urlencode转换,怎么办?urllib提供另外一个函数:quote()

from urllib import request
from urllib import parse


s=parse.quote('西安')
print(s)


二、解码unquote()或者parse_qs函数

unquote()函数与urlencode()函数原理相反,用于解码已编码的 URL 字符串,其原理就是把十六进制字符串转换为中文字符

当urlencode之后的字符串传递过来之后,接受完毕就要解码了——urldecode。urllib提供了unquote()这个函数,可没有

urldecode()函数!

代码示例:

from urllib import parse
s='%E5%B9%BF%E5%B7%9E'
s=parse.unquote(s)
print(s)

parse_qs函数:

可以将经过编码后的url参数进行解码。示例代码如下:

from urllib import parse
qs = "name=%E7%88%AC%E8%99%AB%E5%9F%BA%E7%A1%80&greet=hello+world&age=100"
print(parse.parse_qs(qs))

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
爬虫(urllib)是Python 2.7中用于获取互联网上的数据的重要工具之一。它是Python标准中内置的模块之一,用于发送HTTP请求,从网页中提取数据和处理网页内容。 使用urllib进行爬虫可以分为以下几个步骤: 1. 引入urllib模块:在代码开头使用 `import urllib` 或者 `import urllib.request` 来引入所需的模块。 2. 发送HTTP请求:通过使用 `urlopen()` 函数来发送HTTP请求获取网页的内容。可以传入URL作为参数,如 `urllib.urlopen('http://www.example.com')`。 3. 获取网页内容:通过调用`read()`函数来读取网页的内容,将其存储在变量中。例如, `response = urllib.urlopen('http://www.example.com')`;`html = response.read()`。 4. 处理网页内容:对于获取到的网页内容,可以使用字符编码工具对其进行解码,并对其进行解析和处理。例如,`html = html.decode('utf-8')`。 5. 提取数据:根据需求,使用正则表达式、BeautifulSoup等工具从网页内容中提取特定的数据。可以根据标签、属性、文本内容等进行定位和提取。 6. 数据处理和存储:对提取到的数据进行处理,例如清洗、分析、保存等操作。 总之,Python 2.7中的urllib模块是一个强大的爬虫工具,它可以用于发送HTTP请求,获取网页内容,并对其进行处理和提取数据。在使用爬虫时,需要注意合法性、法律性和道德性问题,并遵循网站的使用条款和隐私政策。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Demo.demo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值