45 豆瓣模拟登陆
本帖最后由 和vvv 于 2017-10-12 18:14 编辑45 豆瓣模拟登陆
一、分析情况
模拟登陆豆瓣,跟登录CSDN相似。但有一点不同,此时来说,CSDN不管你登录多少次,是不会有验证码出现的。而在登录豆瓣时,输入密码错误几次之后,就会出现图片验证码。这样的:
同时,如果我们用爬虫在短时间内登陆多次,便发现不能再登陆成功了{:5_100:}。这是因为出现了验证码,而我们在提交POST数据时,没有加入验证码字段。
二、处理验证码问题
这里的验证码就是输入图片中的字符。我们找到有验证码时登录,进行数据分析。发现是这样的:
发现其比没有验证码时多了2个字段。一个是验证码图片中的字符(captcha-solution),一个是验证码id标识号(captcha-id)。验证码的值好理解,ID又是用来干什么呢?猜一下,是用来标识验证码身份的唯一性(经验)。然后我们去网页的源码中查找,刚好找到(又是经验加分析):
这里captcha-id的值和POST中的一样呢。那就简单了,每次提交数据之前,先爬取登陆首页,提取出captcha-id的值。那还有captcha-solution呢?不就是输入验证码吗。
想了想{:5_92:},应该有两种处理的方式:1、每次把验证码图片保存下来,手动输入。 2、程序自动识别验证码图片中的字符,自动输入。不用说也知道第二种方法比较麻烦,查了一下资料,有很多方法:(1)要么自己写程序来识别(图片识别之类的)。(2)利用别人已经做好的平台。(网上一搜 云打码 就会有许多资料)。这里,由于技术和金钱有限,就是用第一种了。
三、程序实现
完整代码:
**** Hidden Message *****
值得一看 学习 嘿嘿,知识是无价的~~~~~~ dd顶 学习一下 看看 6666 不错哦 值得学习 领教了,多多学习 666 学习了 学习学习!!!!!!!!!! 学学学 看一看 {:7_130:} 学习 来研究下大佬的代码 执行有误啊,账号密码都没问题