python_2018最新版本微博登陆

嗨,大家好

image.png

听说微博登陆很难,就想试试 确实挺复杂的

废话不多说,直接撸代码,以下是2.7版本的 需要3的自己改把


WeiboLogin类.png

def init(self, user, password, cookie_path) 这是初始化函数在调用这个类的时候函数会自动运行 里面初始化了账号和密码 最后又调用了login函数

image.png

首先调用了 try:....except: 语法 语法是先运行try部分的代码,如果出错就运行except代码

先说try部分 #140 调用pre_login()

pre_login().png

get_su()是根据网站的源码分析发现 需要提供加密后的用户名,把用户名进行加密处理

get_su函数.png

get_server_data(self, su):

get_server_data.png

get_server_data获取加密的用户后,进行预登陆访问获取之后请求需要的参数


image.png
get_password.png

get_password也是从js源码分析得出加密方式

postdata.png

构造请求的数据包

image.png

拼接url通过post请求,发送数据包

提取返回的数据中ticket的value值


如果发生错误大多数是因为需要验证码的原因

image.png

获取验证码图片,人工输入验证码


最后

image.png

就是简单的整理数据包提交

这就是目前微博登陆的过程,亲测有效哦

你可能感兴趣的:(python_2018最新版本微博登陆)