前言
爬虫闯关的第一关比较简单,只要找到设置关卡的目的,就很容易通关,今天我们来闯第二关!
在上次
爬虫闯关第一关
成功后,我们会得到第二关的地址:http://www.heibanke.com/lesson/crawler_ex01/
关卡分析
打开页面,如图:
根据提示,随便输入一个昵称和 30 以内的数字,提交后,提示密码错误:
题目意图很明显了,就是猜数字!
下面我们就要分析传入到后台的数据是什么,我们要做的就是:按下 。
我们在提交数字后,可以看到发我后台的请求数据是:
请求数据中包含了 username 和 password,以及 csrfmiddlewaretoken(这个数据本关中没有用到),下面我们就可以代码实现了。
也就是通过代码,将 0~30 之间的数据不断传递到后台,只要返回文本中包含 字样就表示没有成功。逻辑比较简单,这里直接上代码了~
requests 实现
运行结果:
使用 selenium 实现
环境:Firefox58,Chrome64。
在刚开始使用 Firefox 调用 的 方法后,发现 方法没有等到页面重新加载完毕就返回,这就导致我们在查找页面元素时无法找到我们想要的东西。而调用按钮的 方法就一切正常。
Chrome浏览器需要安装ChromeDriver - WebDriver for Chrome,下载解压后,配置到环境变量中。
运行结果:
成功页面:
总结
本关主要考察以 POST 方法提交数据的相关操作,还是比较简单的。同样的,成功后会返回下一关的地址,大家不妨先尝试下一关!
周末愉快~
END
领取专属 10元无门槛券
私享最新 技术干货