嗨,大家好
image.png听说微博登陆很难,就想试试 确实挺复杂的
废话不多说,直接撸代码,以下是2.7版本的 需要3的自己改把
WeiboLogin类.png
def init(self, user, password, cookie_path) 这是初始化函数在调用这个类的时候函数会自动运行 里面初始化了账号和密码 最后又调用了login函数
首先调用了 try:....except: 语法 语法是先运行try部分的代码,如果出错就运行except代码
先说try部分 #140 调用pre_login()
pre_login().pngget_su()是根据网站的源码分析发现 需要提供加密后的用户名,把用户名进行加密处理
get_su函数.pngget_server_data(self, su):
get_server_data.pngget_server_data获取加密的用户后,进行预登陆访问获取之后请求需要的参数
image.png get_password.png
get_password也是从js源码分析得出加密方式
postdata.png构造请求的数据包
image.png拼接url通过post请求,发送数据包
提取返回的数据中ticket的value值
如果发生错误大多数是因为需要验证码的原因
image.png获取验证码图片,人工输入验证码
最后
image.png就是简单的整理数据包提交
这就是目前微博登陆的过程,亲测有效哦
网友评论