Python使用爬虫猜密码


Posted in Python onFebruary 19, 2016

我们可以通过python 来实现这样一个简单的爬虫猜密码功能。下面就看看如何使用python来实现这样一个功能。

Python使用爬虫猜密码

这里我们知道用户的昵称为:heibanke

密码是30以内的一个数字,要使用requests库循环提交来猜密码

主要需要用到的库是requests库

安装requests库

pip install requests

要使用到的request库的功能是表单的提交

requests.post(url,data)#通过post()语言向网址url发生data

首先查看网页源码,找到需要提交的内容的参数名称

 Python使用爬虫猜密码

可以看到需要提交的昵称的name=“username”,密码的name=“password”

requests传入网址的data中中需要包含这两个参数

url = "http://www.heibanke.com/lesson/crawler_ex01/"
params = {'username':'heibanke','password': str(password)}
r = requests.post(url,data=params)

建立循环,密码从1开始猜,不对就+1,直至猜中。

关键在于如何判断猜错了没?

首先看看猜错了的显示:

 Python使用爬虫猜密码

我们可以读取出该页面的文字,检测文字中有没有"错误"二字,有就代表提交的密码错误,没有就表示正确。要实现此功能,需要用到find()函数

find()函数介绍:

函数原型:find(str, pos_start, pos_end)

解释:

•str:被查找“字串”
•pos_start:查找的首字母位置(从0开始计数。默认:0)
•pos_end: 查找的末尾位置(默认-1)

返回值:如果查到:返回查找的第一个出现的位置。否则,返回-1。

example:

str = "0123"
print str.find("2",1,-1) #2
print str.find("1") #0,首次出现的位置

完整程序:

import requests
password=0
while True:
url = "http://www.heibanke.com/lesson/crawler_ex01/"
params = {'username':'heibanke','password': str(password)}
r = requests.post(url,data=params)
if r.text.find(u"错误")>0:#判断某次输入是否正确
password=password+1
else:
print password#,最后打印出password为6,居然输入06,006,0006都是对的
break

运行结果password为6

Python 相关文章推荐
python列表去重的二种方法
Feb 14 Python
Python def函数的定义、使用及参数传递实现代码
Aug 10 Python
Python实现的简单dns查询功能示例
May 24 Python
Python抓取聚划算商品分析页面获取商品信息并以XML格式保存到本地
Feb 23 Python
python中使用iterrows()对dataframe进行遍历的实例
Jun 09 Python
Python通过调用有道翻译api实现翻译功能示例
Jul 19 Python
torch 中各种图像格式转换的实现方法
Dec 26 Python
python使用OpenCV模块实现图像的融合示例代码
Apr 10 Python
Python try except异常捕获机制原理解析
Apr 18 Python
浅谈Python 参数与变量
Jun 20 Python
python 动态渲染 mysql 配置文件的示例
Nov 20 Python
python双向链表实例详解
May 25 Python
使用Python简单的实现树莓派的WEB控制
Feb 18 #Python
在Ubuntu系统下安装使用Python的GUI工具wxPython
Feb 18 #Python
以一个投票程序的实例来讲解Python的Django框架使用
Feb 18 #Python
使用Python生成随机密码的示例分享
Feb 18 #Python
使用Python的urllib2模块处理url和图片的技巧两则
Feb 18 #Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
Feb 18 #Python
使用Python的PIL模块来进行图片对比
Feb 18 #Python
You might like
奇怪的PHP引用效率问题分析
2012/03/23 PHP
PHP zip扩展Linux下安装过程分享
2014/05/05 PHP
一个简洁实用的PHP缓存类完整实例
2014/07/26 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
Yii快速入门经典教程
2015/12/28 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
php基于curl实现的股票信息查询类实例
2016/11/11 PHP
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
JS 加入收藏夹的代码(主流浏览器通用)
2013/05/13 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
2013/10/11 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
2014/01/14 Javascript
跟我学习javascript的循环
2015/11/18 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
jQuery Dialog 取消右上角删除按钮事件
2016/09/07 Javascript
js中的面向对象入门
2017/03/06 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
tangram.js库实现js类的方式实例分析
2018/01/06 Javascript
javascript判断一个变量是数组还是对象
2019/04/10 Javascript
VUE 解决mode为history页面为空白的问题
2019/11/01 Javascript
浅谈webpack和webpack-cli模块源码分析
2020/01/19 Javascript
vue如何使用外部特殊字体的操作
2020/07/30 Javascript
在Django的form中使用CSS进行设计的方法
2015/07/18 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
2018/06/25 Python
Python IDLE或shell中切换路径的操作
2020/03/09 Python
Django QuerySet查询集原理及代码实例
2020/06/13 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
英国优质鞋类专家:Robinson’s Shoes
2017/12/08 全球购物
Zavvi荷兰:英国大型音像制品和图书游戏零售商
2018/03/22 全球购物
请解释一下webService? 如何用.net实现webService
2014/06/09 面试题
英文请假条
2014/04/11 职场文书
面试通知邮件
2015/04/20 职场文书
违反纪律检讨书范文
2015/05/07 职场文书
六一活动主持词
2015/06/30 职场文书
《灰雀》教学反思
2016/02/19 职场文书
CSS 新特性 contain控制页面的重绘与重排问题
2021/04/30 HTML / CSS