爬虫闯关 - 第二关
来源:互联网 发布:马伯庸 三国游戏 知乎 编辑:程序博客网 时间:2024/04/28 21:04
这是第二关的实现.
题目描述:
如图,要求就是找出对应的密码
分析:
随便输入,然后用开发者工具查看,有一条post的请求:
点进去:
可以看到 表单数据(Form Data)包含了cookie和用户名,密码,点击 view source,得到编码的字符串(虽然此post请求包含cookies,但服务器实际上用不着,只是cookies机制的问题)
csrfmiddlewaretoken=QkxgqDeP31SuohDsx63vU0zZP7fIIcCv&username=1&password=1
知道了原理,就明白,我们要用urllib模块,在urlopen里添加data参数,这样就会以post方法请求url.接着用这则抓取返回的html中密码错误 字样,如果抓取失败,那说明当前页面就是验证成功的页面.
实现:
import urllib.parseimport urllib.requestimport redata={'username':'hailong'}url='http://www.heibanke.com/lesson/crawler_ex01/'for num in range(1,31): data['password']=num post_data=urllib.parse.urlencode(data).encode('utf-8') print(post_data) response=urllib.request.urlopen(url,post_data) html=response.read().decode('utf-8') result=re.findall('密码错误',html) if not result: print(html) break
0 0
- 爬虫闯关 - 第二关
- 黑板客爬虫闯关第二关
- 黑板客爬虫闯关第二关
- 黑板课爬虫闯关第二关
- 爬虫闯关 - 第一关
- 黑板课爬虫闯关第一关
- 黑板课爬虫闯关第三关
- 黑板客爬虫闯关第三关
- 黑板客爬虫闯关第四关
- 黑板客爬虫闯关第四关
- 黑板客爬虫闯关的第一关
- 黑板课爬虫闯关第一关
- 黑板课爬虫闯关第三关
- 黑板课爬虫闯关第四关
- 黑板客爬虫闯关-第一关
- 黑板客爬虫闯关
- 爬虫闯关之旅-1
- 爬虫闯关之旅-2
- Entity Framework Code First (四)Fluent API - 配置属性/类型
- 【转载】PHP程序员的技术成长规划
- ceph存储 PG的数据恢复过程
- 使用定义在xml下的动画
- Xcode插件开发-插件模板工程
- 爬虫闯关 - 第二关
- Entity Framework Code First (五)Fluent API - 配置关系
- 制作圆形图片,你会以下几种?
- 30学习写论坛-9
- PE文件,程序集,托管模块,元数据
- 线程(序)
- Hibernate Session API
- 检查版本更新
- android 账户管理实现