python爬虫微信模拟登录(Python模拟微博登陆亲测有效)

欢迎点击右上角关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等。

python爬虫微信模拟登录(Python模拟微博登陆亲测有效)(1)

在提交POST请求之前, 需要GET 获取两个参数。

地址是:http://login.sina.com.cn/sso/...

得到的数据中有 servertime 和 nonce 的值, 是随机的,其他值貌似没什么用。

python爬虫微信模拟登录(Python模拟微博登陆亲测有效)(2)

2.

通过httpfox 观察POST 的数据, 参数较复杂,其中 “su" 是加密后的username, sp 是加密后的password。servertime 和 nonce 是上一步得到的。其他参数是不变的。

username 经过了BASE64 计算:

username = base64.encodestring( urllib.quote(username) )[:-1]

password 经过了三次SHA1 加密, 且其中加入了 servertime 和 nonce 的值来干扰。

即: 两次SHA1加密后, 将结果加上 servertime 和 nonce 的值, 再SHA1 算一次。

python爬虫微信模拟登录(Python模拟微博登陆亲测有效)(3)

3.

将参数组织好, POST请求。 这之后还没有登录成功。

POST后得到的内容中包含一句:

python爬虫微信模拟登录(Python模拟微博登陆亲测有效)(4)

这是登录失败时的结果, 登录成功后结果与之类似, 不过retcode 的值是0 。

接下来再请求这个URL,这样就成功登录到微博了。

记得要提前build 缓存。

python爬虫微信模拟登录(Python模拟微博登陆亲测有效)(5)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页