百度搜索(URL)中汉字转为什么编码问题

小惑有观察

最近在做有关爬虫的东西,拿百度练手,在定向爬虫发现百度的搜索链接中

有个很有意思的情况。

众所周知,百度首页的链接为 https://www.baidu.com/

假定我们搜索迪丽热巴,网页的URL变为
搜索链接

复制该链接再粘贴是,会发现搜索关键词’迪丽热巴’变

为’%E8%BF%AA%E4%B8%BD%E7%83%AD%E5%B7%B4

那么这个网址是怎么变化的了?

https://www.baidu.com/s?wd=%E8%BF%AA%E4%B8%BD%E7%83%AD%E5%B7%B4&

(’&'后还有一些内容,防治泄露个人信息我给删了)

因为中文汉字在URL不符合编码方式,于是就采取了转化编码。

举个栗子

#	迪丽热巴
key_word = '迪丽热巴'
key_word = urllib.parse.quote(key_word,encoding = 'utf-8', errors = 'replace')

解释:

parse为解析功能

quote为编码功能

errors是为了替换加上 ’ % '功能

运行结果非常amazing:
在这里插入图片描述

对比一下百度链接:
https://www.baidu.com/s?wd=%E8%BF%AA%E4%B8%BD%E7%83%AD%E5%B7%B4&

补充:

运行时记得加上头文件

import urllib

(我发现很多帖子中讲代码很多都忘记说头文件的时)

没有urllib直接在cmd中pip install urllib

如果出错请自行百度。

另附一张文不对题的图
迪丽热巴
感兴趣的小伙伴可以关注我的个人公众号:小惑有观察。
个人公众号

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章