前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >#PY小贴士# URL里面为什么会有乱码?

#PY小贴士# URL里面为什么会有乱码?

作者头像
Crossin先生
发布2020-01-20 16:18:47
6630
发布2020-01-20 16:18:47
举报

在做网络爬虫的程序或者开发网站的时候,有时会发现 URL 地址里有类似这样的『乱码』,是怎么回事?

代码语言:javascript
复制
%E7%BC%96%E7%A8%8B%E6%95%99%E5%AE%A4

这是因为网络标准RFC 1738 对 URL 的合法字符做了硬性规定:

...Only alphanumerics [0-9a-zA-Z], the special characters "$-_.+!*'()," [not including the quotes - ed], and reserved characters used for their reserved purposes may be used unencoded within a URL. 只有字母和数字[0-9a-zA-Z]、一些特殊符号“$-_.+!*'(),”(不包括双引号)、以及某些保留字,才可以不经过编码直接用于URL。

所以为了在 URL 里可以传输复杂文字,会做一次编码,这和我们之前提过代码里面显示中文的意思差不多。这种被称为 URL编码

具体到 Python 代码上,可以通过 urllib.parse.quoteunquote 方法来进行编解码:

当我们需要发送模拟请求时,通常需要对 URL 地址进行编码,否则对方的服务器可能会不认。


#PY小贴士#里,我们会分享一些 python 知识点、开发中的小技巧、容易踩到的坑,以及学员遇到并在群里提到真实问题。篇幅尽量短小,适合碎片时间阅读,欢迎关注!

如果你在编程学习中有疑问,可选择以下方式向我们提问:

1. 加入码上行动答疑群(最及时响应)

2. 加入知识星球 https://t.zsxq.com/IiAiiQj

3. 发微博加上 #编程教室# @Crossin(非私信)

提问时请表述清楚,附上必要代码、输出等截屏。

也可向本栏目投稿,分享你开发中的经验。采纳后将署名发表,并可附上个人博客、公众号、Github等介绍。


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Crossin的编程教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档