首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 爬虫闯关

前言

爬虫闯关的第一关比较简单,只要找到设置关卡的目的,就很容易通关,今天我们来闯第二关!

在上次

爬虫闯关第一关

成功后,我们会得到第二关的地址: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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180713G0VYER00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券