gopythoner 发表于 2017-3-29 21:59:41

有没有爬QQ空间的?

之前爬过QQ空间,使用的selenium,比较无脑,但是速度实在是慢的不要不要
今天尝试登录的时候使用selenium,然后后去了cookie之后用这个cookie去用requests请求
想法上感觉应该是没问题的
然而,还是太天真
原来QQ空间有一个加密的g_tk
所有的请求必须附带这个值才行
网上一顿看
发现这个值的数据源的确是在cookie中,但是算法函数是js语法,而且还涉及到二进制什么鬼算法
顿时整个人就斯巴达了
说好的有了cookie就可以登录呢?
心累。。。。
慢慢想办法获取这个值吧
{:9_218:}
有这方面经验的可以来交流一下

小甲鱼-大王八 发表于 2022-5-2 16:54:55

确实挺简单的,也没几行代码,用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

小甲鱼-大王八 发表于 2022-5-2 16:57:03

楼主有做过qq空间的登录吗,我访问一个会在响应头里设置p_skey那个cookie的url的时候会报错。
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
明明url还有headers和浏览器都一样,为什么会报错呢?
页: [1]
查看完整版本: 有没有爬QQ空间的?