urllib.parse.urlencode用法

当在浏览器地址栏搜索 刘若英

https://www.baidu.com/s?word=刘若英&tn=71069079_1_hao_pg&ie=utf-8

但是复制到文件中是这样的:

https://www.baidu.com/s?word=%E5%88%98%E8%8B%A5%E8%8B%B1&tn=71069079_1_hao_pg&ie=utf-8

这是因为浏览器对中文请求参数进行了转码
用代码访问网站所发的请求中如果有中文也必须是转码之后的。

这里需要用到urllib.parse.urlencode 方法。

具体操作:urllib.request.urlopen(url,data,timeout)

如果data被赋值,则请求的方式就会由get转为post,而post需要提供一些待处理的数据。

这些待处理的数据需要一定的格式,这个方法就会将这个数据的字典里面所有的键值转化为query-string格式(key=value&key=value),并且将中文转码因此就需要urllib.parse.urlencode

urllib.parse.urlencode(data)

data是一个字典形式的数据。

上一篇:C#入门——异常捕获


下一篇:JS:JSON的解析和生成(JSON 和 JS 对象互转)