起因
用requests 请求天眼查 https://www.tianyancha.com/company/3095761828
我已经登录了,cookie中有东西
cookiestr2dict
是我写的一个将cookie字符串直接转变为字典的函数
def cookiestr2dict(cookiestr):
l = {}
res = cookiestr.split("; ")
for kv in res:
m, n = kv.split("=", maxsplit=1)
l[m] = n
r = {}
return r
问题也就出在这里,加上这个cookie之后,就报错了,什么编码问题
那么是什么原因呢?
cookie中不能有中文!!
所以,我们需要先url encoding一下
吐槽一下,requests
库居然没有这个功能,感觉封装过度了,按理说这么有用的功能
from urllib.parse import quote
print(quote('/a=b c?')) # 不能 编码 /
print(quote('/a=b c?',safe="")) # 能 编码 /
然后将cookie中的中文url encoding一下就好了
完结撒花