有没有爬QQ空间的?
之前爬过QQ空间,使用的selenium,比较无脑,但是速度实在是慢的不要不要今天尝试登录的时候使用selenium,然后后去了cookie之后用这个cookie去用requests请求
想法上感觉应该是没问题的
然而,还是太天真
原来QQ空间有一个加密的g_tk
所有的请求必须附带这个值才行
网上一顿看
发现这个值的数据源的确是在cookie中,但是算法函数是js语法,而且还涉及到二进制什么鬼算法
顿时整个人就斯巴达了
说好的有了cookie就可以登录呢?
心累。。。。
慢慢想办法获取这个值吧
{:9_218:}
有这方面经验的可以来交流一下 确实挺简单的,也没几行代码,用python写的话大概就是这样
def getGTk(cookie):
p_skey = re.search("p_skey=(.*?);",cookie).group(1)
hash = 5381
for c in p_skey:
hash += ((hash<<5) + int.from_bytes(c.encode("ascii"),'big'))
# print(f"hash:{hash}")
g_tk = hash & 0x7fffffff
return g_tk 楼主有做过qq空间的登录吗,我访问一个会在响应头里设置p_skey那个cookie的url的时候会报错。
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
明明url还有headers和浏览器都一样,为什么会报错呢?
页:
[1]