一尘不染

python在URL中转换汉字

python

我有一个网址

href =“ ../ job / jobarea.asp?C_jobtype =经营管理主管&peoplenumber = 151”

这在检查元素中显示。但是当在新标签页中打开时,它显示为

../job/jobarea.asp?C_jobtype=%B8g%C0%E7%BA%DE%B2z%A5D%BA%DE
&peoplenumber=151

我如何知道浏览器使用哪种编码类型进行转换。当我尝试执行scrapy时,它正在显示其他格式,并且由于500内部服务器错误而停止。你能解释一下我吗?


阅读 309

收藏
2021-01-20

共1个答案

一尘不染

是繁体中文,所以尝试 cp950

#-*-coding:utf8 -*-

import urllib
s = '經營管理主管'.decode('utf-8').encode('cp950')
print urllib.quote(s)

q ='%B8g%C0%E7%BA%DE%B2z%A5D%BA%DE'
print urllib.unquote(q).decode('cp950').encode('utf-8')

结果

%B8g%C0%E7%BA%DE%B2z%A5D%BA%DE
經營管理主管
2021-01-20