url解码

作者: MA木易YA | 来源:发表于2018-11-09 23:00 被阅读0次

在爬虫或者python的一些文件下载过程中经常碰到的一个问题就是对url进行编码和解码,python提供了很方便的接口进行调用。

  • url中的query带有特殊字符(不是url的保留字)时需要进行编码。
  • 当url中带有汉字时,需要特殊的处理才能正确编码,以下都只针对这种情形,当然也适用于纯英文字符的url。

小编在今天的项目过程中就遇到了这样的问题,因为url里面涉及到中文字段,一直会显示成unicode形式,试过encode、decode各种方法、给html设置头属性、给BeautifulSoup爬取的时候指定编码都不行,后来在万能的网友的提醒下知道是url编码方面的问题,然后去了解这个模块,但是很多方法urllib下已经没有了,比如查询方法

也是几番挣扎,最后在群内某大佬的指点下学习到这个方法,普及给大家

from urllib.parse import unquote

src = "https://maya-music.oss-cn-beijing.aliyuncs.com/%E9%BB%84%E8%80%80%E6%98%8E%20-%20%E6%9A%97%E6%B6%8C%28Live%29%20-%20live.mp3"
print(src)
#*****输出*****
https://maya-music.oss-cn-beijing.aliyuncs.com/%E9%BB%84%E8%80%80%E6%98%8E%20-%20%E6%9A%97%E6%B6%8C%28Live%29%20-%20live.mp3
 
src_new = unquote(src, 'utf-8')
print(src_new)

#*****输出*****
https://maya-music.oss-cn-beijing.aliyuncs.com/黄耀明 - 暗涌(Live) - live.mp3

关于更多的url编码解码的问题大家可以具体去看看urllib库相关的模块,这里只是给大家普及一个小方法

相关文章

网友评论

    本文标题:url解码

    本文链接:https://www.haomeiwen.com/subject/npeaxqtx.html