豆瓣自动注册回贴脚本 powered by Python & Selenium

Posted funway

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了豆瓣自动注册回贴脚本 powered by Python & Selenium相关的知识,希望对你有一定的参考价值。

前言,之前在豆瓣日志写了这片文章,结果被豆瓣删除了。。。哎

    ----- 所删除内容 -----

    《豆瓣自动注册、回贴脚本  powered by Python & Selenium》  (2018-01-12 15:29)

    故事起因:

上周的时候吧,发现有条疯狗在这张剧照(天生杀人狂)下面骂我。如果只是骂我傻逼我还能忍,毕竟人在江湖飘哪人不挨刀。但是你问候的范围大了,那作为一个社会主义核心价值观没有问题的青年,我必须得去操一下你妈了吧。请点击操他妈热线。结果这个怂逼居然还发私信骂我然后还把我拉黑了,真鸡巴怂。只能在剧照评论下回怼,但剧照毕竟是个公共地方,回多了有碍观瞻。既然私信也没法发了,想了想,那就注册个小号吧,写个脚本骂它7749天也不错呀,说干就干,知识就是骂娘。( _)

=========================分割线=============================

代码思路:

1. 账号注册
豆瓣现在的账号注册机制需要邮箱与短信双重验证。这就比较麻烦了,但是有一个小漏洞可以跳过邮箱,只需要手机号就可以注册。具体链接我就不在这里明说了,请参考代码实现。

2. 手机号
注册一个账号就需要一个手机,并且还要接受验证短信,我哪来那么多手机呀?问这种问题的同学说明你的互联网思维还不够深刻啊。来,请百度“验证码接收平台”,为你打开新世界的大门。

3. 破解验证码
手机号的问题搞定了,但是下一个问题接踵而来。我发现点击接受短信验证码的时候,豆瓣会很贱的先弹出一个Captcha验证码。由于之前做过类似项目,第一思路就是那上Tesseract-OCR呗。我下面的代码实现也是用的PyTesseract。
先对验证码图像二值化,再降噪,最后进行ocr识别。
经过几天的运行,发现识别成功率低的吓人。只有35/882 = 3.97%。 
不过好在豆瓣没有对验证码图像的获取进行限制,可以暴力破解。

作为一个不怕困难、艰苦奋斗的党员,我决定尝试一下对Tesseract进行训练。我取了500张验证码图像,熬瞎了我的眼睛,终于完成了这一项21世纪的伟大工程,兴致勃勃的将db.traineddata放入Tesseract目录下,点击运行。
WTF!识别率稳定在0.00%, 什么鬼哦,是我训练的方式不对吗?    ┌∩┐

算了,万事开头难,只要肯放弃。训练这种事情不适合我这个懒人。这个时候,我的互联网思维突然春光乍泄,诶,有没有验证码破解平台呀?我直接用别人的不就好了!我真棒 
微软、百度、腾讯都有提供ocr接口,但是好像效果也不咋滴,我试了试微软的发现还不如本地Tesseract。就在这时候,我发现有某位不愿意透露姓名的网友提示了可以找“打码平台”,使用真“人工”智能来进行验证码破解,一条验证码也就1分钱左右。卧槽,这简直是为我打开了一扇新世界的大门。我试了下云打码,效果还真不错嘿,大概5秒左右能返回结果。主要是这网站的py接口写的还可以,其他打码平台的py接口写的实在太垃圾了,惨不忍睹。

4. 豆瓣的自动防御机制
首先,新注册的账号给人发送私信的话,好想都会被丢进对方的垃圾豆邮里。我估计豆瓣会验证新账号的完整性,比如有没有头像呀之类的。我懒得测试了,打狗并不值得投入太多时间,毕竟我还在那狗逼的广播页面操他妈了,这个是会有豆瓣提醒的,垃圾豆邮的话,等他哪天不小心点开,大概会很惊喜吧。挺好。

第二,一个ip地址注册的账号数应该是有限制的,比如一天内只允许注册多少个这样。如果超过阈值,注册可以成功,但是登陆后访问任何一个页面,都会被跳转到手机验证页面,提示账号有异常,需要再次发送短信验证。。。。(2018.01.16订正:可能不是注册数限制的问题哦,有可能只是碰巧那几个手机号有“问题”,导致豆瓣需要该手机号主动发短信进行验证。)

=========================分割线=============================

代码:
https://share.weiyun.com/5aaXApZ

=========================分割线=============================

如果这篇文章对你有一点点帮助,肯请不吝口舌,帮我去这以下两个页面问候这个傻逼全家:
  傻逼的主页
  天生怂逼剧照页

以上是关于豆瓣自动注册回贴脚本 powered by Python & Selenium的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server自动化运维系列——批量执行SQL脚本(Power Shell)

python实例:自动爬取豆瓣读书短评,分析短评内容

Entrust - Laravel 用户权限系统解决方案 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 - Powered by PHPHub

无法禁用X-Powered-By:Express

如何移除网站Response Headers中的X-Powered-By信息?

服务器响应头隐藏X-power-by