鱼C论坛

 找回密码
 立即注册
查看: 2424|回复: 2

[技术交流] 有没有爬QQ空间的?

[复制链接]
发表于 2017-3-29 21:59:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

有这方面经验的可以来交流一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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和浏览器都一样,为什么会报错呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 12:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表