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调用C语言开发的共享库方法实例
Mar 18 Python
Python爬虫DOTA排行榜爬取实例(分享)
Jun 13 Python
详解Numpy中的广播原则/机制
Sep 20 Python
Python修改文件往指定行插入内容的实例
Jan 30 Python
python实现两张图片拼接为一张图片并保存
Jul 16 Python
Django 反向生成url实例详解
Jul 30 Python
python numpy存取文件的方式
Apr 01 Python
使用opencv将视频帧转成图片输出
Dec 10 Python
用Python去除图像的黑色或白色背景实例
Dec 12 Python
pytorch方法测试详解——归一化(BatchNorm2d)
Jan 15 Python
Python Selenium模块安装使用教程详解
Jul 09 Python
python 基于DDT实现数据驱动测试
Feb 18 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
初次接触php抽象工厂模式(Elgg)
2010/03/21 PHP
php之CodeIgniter学习笔记
2013/06/17 PHP
浅谈php扩展imagick
2014/06/02 PHP
仿dedecms下拉分页样式修改的thinkphp分页类实例
2014/10/30 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
javascript 学习之旅 (2)
2009/02/05 Javascript
用JS控制回车事件的代码
2011/02/20 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
2017/03/24 Javascript
基于Axios 常用的请求方法别名(详解)
2018/03/13 Javascript
vue.js中实现登录控制的方法示例
2018/04/23 Javascript
vue与iframe之间的信息交互的实现
2020/04/08 Javascript
[54:58]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第一场 11.25
2020/11/25 DOTA
[01:03:41]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第一场 12.17
2020/12/19 DOTA
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
Python中的异常处理学习笔记
2015/01/28 Python
Python 字符串大小写转换的简单实例
2017/01/21 Python
python函数中return后的语句一定不会执行吗?
2017/07/06 Python
Python Pandas找到缺失值的位置方法
2018/04/12 Python
python爬虫 2019中国好声音评论爬取过程解析
2019/08/26 Python
利用Python复制文件的9种方法总结
2019/09/02 Python
Python 音频生成器的实现示例
2019/12/24 Python
HTML5调用手机摄像头拍照的实现思路及代码
2014/06/15 HTML / CSS
西班牙拥有最佳品牌的动物商店:Animalear.com
2018/01/05 全球购物
美国高端牛仔品牌:Silver Jeans
2019/12/12 全球购物
个人自我鉴定怎么写
2013/10/28 职场文书
英文自荐信
2013/12/15 职场文书
财务人员求职自荐书范文
2014/02/10 职场文书
机房搬迁方案
2014/05/01 职场文书
就业意向书范本
2015/05/11 职场文书
因家庭原因离职的辞职信范文
2015/05/12 职场文书
对公司的意见和建议
2015/06/04 职场文书
保护地球的宣传语
2015/07/13 职场文书
Django实现聊天机器人
2021/05/31 Python