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 相关文章推荐
天翼开放平台免费短信验证码接口使用实例
Dec 18 Python
Python最火、R极具潜力 2017机器学习调查报告
Dec 11 Python
python中将正则过滤的内容输出写入到文件中的实例
Oct 21 Python
python3利用ctypes传入一个字符串类型的列表方法
Feb 12 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
Apr 29 Python
Python单例模式的四种创建方式实例解析
Mar 04 Python
python torch.utils.data.DataLoader使用方法
Apr 02 Python
python安装后的目录在哪里
Jun 21 Python
mac安装python3后使用pip和pip3的区别说明
Sep 01 Python
Visual Studio Code搭建django项目的方法步骤
Sep 17 Python
Django-silk性能测试工具安装及使用解析
Nov 28 Python
Python实现视频中添加音频工具详解
Dec 06 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面向对象之领域模型+数据映射器实例(分析)
2017/06/21 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
javaScript 关闭浏览器 (不弹出提示框)
2010/01/31 Javascript
js中如何把字符串转化为对象、数组示例代码
2013/07/17 Javascript
js获取本机的外网/广域网ip地址完整源码
2013/08/12 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
2013/12/27 Javascript
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
jQuery实现自定义事件的方法
2015/04/17 Javascript
针对初学者的jQuery入门指南
2015/08/15 Javascript
基于jquery实现人物头像跟随鼠标转动
2015/08/23 Javascript
详解AngularJS Filter(过滤器)用法
2015/12/28 Javascript
jQuery.deferred对象使用详解
2016/03/18 Javascript
解析利用javascript如何判断一个数为素数
2016/12/08 Javascript
一个炫酷的Bootstrap导航菜单
2016/12/28 Javascript
JavaScript条件判断_动力节点Java学院整理
2017/06/26 Javascript
详解在vue-cli中引用jQuery、bootstrap以及使用sass、less编写css
2017/11/08 jQuery
详解Angular5路由传值方式及其相关问题
2018/04/28 Javascript
JS错误处理与调试操作实例分析
2020/04/13 Javascript
[01:23:35]Ti4主赛事胜者组 DK vs EG 1
2014/07/19 DOTA
Python文档生成工具pydoc使用介绍
2015/06/02 Python
Python进程间通信用法实例
2015/06/04 Python
Python Matplotlib实现三维数据的散点图绘制
2019/03/19 Python
Python栈的实现方法示例【列表、单链表】
2020/02/22 Python
OpenCV图片漫画效果的实现示例
2020/08/18 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
2020/08/18 Python
Python如何急速下载第三方库详解
2020/11/02 Python
美国打印机墨水和碳粉购物网站:QuikShip Toner
2018/08/29 全球购物
存储过程的优点有哪些
2012/09/27 面试题
酒店服务实习自我鉴定
2013/09/22 职场文书
学习党章思想汇报
2014/01/07 职场文书
年会活动策划方案
2014/01/23 职场文书
超市店长竞聘书
2015/09/15 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书
Matplotlib绘制混淆矩阵的实现
2021/05/27 Python
ORM模型框架操作mysql数据库的方法
2021/07/25 MySQL
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server