热线电话:13121318867

登录
2019-04-01 阅读量: 967
爬虫时url中文编码报错

问题描述:

爬虫时要访问的url中含有中文,如何来编码?

解决方法:

如果URL中存在中文,而你却不对它做任何处理,他不会达到你所想的那样,因此我们需要将中文部分进行处理,要用到urllib.request模块中的quote将中文转化成URL所需的编码,url中的中文要单独处理,不能中英文全部合在一起处理(因为一部分的特殊字符也会被处理掉)

from urllib.request import quote

# 编码

url1 = "https://www.baidu.com/s?wd=中国"

# utf8编码,指定安全字符 这样就不会将非中文的字符一起转码
ret1 = quote(url1, safe=";/?:@&=+$,", encoding="utf-8")
print(ret1)
# https://www.baidu.com/s?wd=%E4%B8%AD%E5%9B%BD

# gbk编码
ret2 = quote(url1, encoding="gbk")
print(ret2)
# https%3A//www.baidu.com/s%3Fwd%3D%D6%D0%B9%FA
0.0000
4
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子