Hash的Key就是账号,Value对应着密码或者Cookies。
接下来我们创建一个存储模块类,用以提供一些Hash的基本操作,代码如下:
生成模块
生成模块负责获取各个账号信息并模拟登录,随后生成Cookies并保存。
这里主要逻辑就是找出那些还没有对应Cookies的账号,然后再逐个获取Cookies,代码如下:
因为我们对接的是新浪微博,前面我们已经破解了新浪微博的四宫格验证码,在这里我们直接对接过来即可,不过现在需要加一个获取Cookies的方法,并针对不同的情况返回不同的结果,逻辑如下所示:
这里返回结果的类型是字典,并且附有状态码status,在生成模块里我们可以根据不同的状态码做不同的处理。例如
状态码为1的情况:表示成功获取Cookies,我们只需要将Cookies保存到数据库即可。
状态码为2的情况:代表用户名或密码错误,那么我们就应该把当前数据库中存储的账号信息删除。
状态码为3的情况:代表登录失败的一些错误,此时不能判断是否用户名或密码错误,也不能成功获取Cookies,那么简单提示再进行下一个处理即可。
代码实现如下所示: