美文网首页
Python 机器学习 识别验证码 来个“沃贝”自动签到(3:登

Python 机器学习 识别验证码 来个“沃贝”自动签到(3:登

作者: 奔IV程序猿 | 来源:发表于2017-10-26 14:44 被阅读0次

    声明:沃贝签到网站已经在10月初归西, 但技术是不过时的哦。

    final 前言叨B叨

    前两篇文章已经和大家分享了验证码识别的关键两个环节: 图像处理和机器识别. 今天这篇给大家说下登录签到这块.拙劣地分析下沃贝签到登录页面的拙劣, 以实现自动登录签到功能.

    获取登录地址及请求参数

    由于此网站走的是http, 并未加密, 所以可以很容易看到来回的传参.

    登录页面分析(地址大家看截图哈)

    纳尼?短信验证码?? 怎么搞? 以上是我发现网站改版后的心情. 之前是支持密码和短信验证码两种登录方式的, 现在只能短信验证码. 看看前端源码发生了什么:

    看嘛, 大段代码注释掉了, 原封不动开发人员的懒惰造就了我们的省心. 放开看看效果

    呐, 东西都还在.

    再看看相关js, 艾玛, 爱死你了, 也是简单注释, 所有接口都还在.

    把这个checkbox 的js 注释拿掉, 在控制台执行下, 然后前端页面选择密码登录, 随便输个手机号,和密码, 执行提交.查看请求和返回:

    好东西来咯: Request header 拿到了, Requst URL 拿到了, FormData 拿到了.接下来, 只需要写几行代码, 嵌入我们之前写好的验证码识别程序, 自动登录就妥妥的啦. (关于签到页面也是同理, 我们可以正常登录网页之后签到,然后查看请求和返回, 这里就不再重复说一遍了, 反正签到的url我已经拿到了, 如果你看了我GitHub上的代码就晓得了)

    python 登录和签到

    我用的是requests去登录的网站, 大家机器上如果没有就 pip install 一下.

    下面简单说下登录代码

    1. 首先因为是登录签到两步走, 必须得有个session来保持你的登录状态, 所以用了requests.session()

    2. 在登录之前,先保存验证码后进行识别, 识别好之后将最后组合好的参数post到登录接口

    3. 得到返回的登录成功消息后, 继续请求签到接口地址. 然后依据返回数据判断签到成功与否.

    至此, 我们的签到任务完成.

    linux 定时任务

    当我们需要定时去执行脚本或其他程序时, linux下有个叫cron的东东可以帮我们实现. 具体用法:

    查看当前配置: crontab -l

    修改当前配置: crontab -e

    具体格式为:

    * * * * * /bin/execute/this/script.sh

    5个星星不是指酒店, 按顺序分别代表以下:

    minute (from 0 to 59)

    hour (from 0 to 23)

    day of month (from 1 to 31)

    month (from 1 to 12)

    day of week (from 0 to 6) (0=Sunday)

    更多详细用法参考 http://kvz.io/blog/2007/07/29/schedule-tasks-on-linux-using-crontab/

    我捏,是把签到脚本放在了树莓派上, 每天早晨7点运行脚本:

    0 7 * * * cd /home/pi/wowsign/ && python autosign.py > /dev/null

    结语

    好了, 这自动签到三部曲算是结束了. 还是那句话,欢迎关注,欢迎交流.

    相关文章

      网友评论

          本文标题:Python 机器学习 识别验证码 来个“沃贝”自动签到(3:登

          本文链接:https://www.haomeiwen.com/subject/rlkkpxtx.html