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 相关文章推荐
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
Oct 18 Python
python web.py开发httpserver解决跨域问题实例解析
Feb 12 Python
使用Python监视指定目录下文件变更的方法
Oct 15 Python
python导入坐标点的具体操作
May 10 Python
详解Python3除法之真除法、截断除法和下取整对比
May 23 Python
python实现的爬取电影下载链接功能示例
Aug 26 Python
python目标检测给图画框,bbox画到图上并保存案例
Mar 10 Python
Keras自定义实现带masking的meanpooling层方式
Jun 16 Python
windows支持哪个版本的python
Jul 03 Python
Python TestSuite生成测试报告过程解析
Jul 23 Python
Python 数据分析之逐块读取文本的实现
Dec 14 Python
利用Python过滤相似文本的简单方法示例
Feb 03 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中获取内网用户MAC地址(WINDOWS/linux)的实现代码
2011/08/11 PHP
PHP 5.6.11中CURL模块问题的解决方法
2016/08/08 PHP
php入门教程之Zend Studio设置与开发实例
2016/09/09 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
2018/04/27 PHP
PHP实现简易图形计算器
2020/08/28 PHP
在网页里看flash的trace数据的js类
2009/01/10 Javascript
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
通过正则格式化url查询字符串实现代码
2012/12/28 Javascript
分享JavaScript与Java中MD5使用两个例子
2015/12/23 Javascript
JS对大量数据进行多重过滤的方法
2016/11/04 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
gulp解决跨域的配置文件问题
2017/06/08 Javascript
js使用generator函数同步执行ajax任务
2017/09/05 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
Angular5集成eventbus的示例代码
2018/07/19 Javascript
BootStrap模态框闪退问题实例代码详解
2018/12/10 Javascript
JSON基本语法及与JavaScript的异同实例分析
2019/01/04 Javascript
Vue.js构建你的第一个包并在NPM上发布的方法步骤
2019/05/01 Javascript
vant 自定义 van-dropdown-item的用法
2020/08/05 Javascript
Python使用arrow库优雅地处理时间数据详解
2017/10/10 Python
python3爬取各类天气信息
2018/02/24 Python
Numpy数据类型转换astype,dtype的方法
2018/06/09 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
2018/06/11 Python
python中单下划线(_)和双下划线(__)的特殊用法
2019/08/29 Python
scrapy-splash简单使用详解
2021/02/21 Python
CSS3 网页下拉菜单代码解释 中文翻译
2010/02/27 HTML / CSS
英国领先的男装设计师服装购物网站:Mainline Menswear
2018/02/04 全球购物
Street One瑞士:德国现代时装公司
2019/10/09 全球购物
Java如何支持I18N?
2016/10/31 面试题
大学生作弊检讨书
2014/02/19 职场文书
涉及车辆房产分割的离婚协议书范文
2014/10/12 职场文书
2015学校年度工作总结
2015/05/11 职场文书
《所见》教学反思
2016/02/23 职场文书
学校团代会开幕词
2016/03/04 职场文书
HTML5简单实现添加背景音乐的几种方法
2021/05/12 HTML / CSS