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中的闭包总结
Sep 18 Python
Python如何实现MySQL实例初始化详解
Nov 06 Python
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
Feb 03 Python
解决Python安装后pip不能用的问题
Jun 12 Python
CentOS 7 安装python3.7.1的方法及注意事项
Nov 01 Python
python库matplotlib绘制坐标图
Oct 18 Python
Python操作多维数组输出和矩阵运算示例
Nov 28 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
Dec 11 Python
TensorFlow tf.nn.conv2d实现卷积的方式
Jan 03 Python
python 函数中的参数类型
Feb 11 Python
python读取mysql数据绘制条形图
Mar 25 Python
Python爬虫中Selenium实现文件上传
Dec 04 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+MySQL的聊天室设计
2006/10/09 PHP
DEDE采集大师官方留后门的删除办法
2011/01/08 PHP
php生成图片验证码
2015/06/09 PHP
php利用imagemagick实现复古老照片效果实例
2017/02/16 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
2017/08/04 PHP
Ext JS 4实现带week(星期)的日期选择控件(实战一)
2013/08/21 Javascript
jquery ajax跨域解决方法(json方式)
2014/02/04 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
深入理解JavaScript系列(37):设计模式之享元模式详解
2015/03/04 Javascript
Jquery实现简单的轮播效果(代码管用)
2016/03/14 Javascript
jQuery中队列queue()函数的实例教程
2016/05/03 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
2016/05/28 Javascript
react native与webview通信的示例代码
2017/09/25 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
2018/01/15 Javascript
解决修复npm安装全局模块权限的问题
2018/05/17 Javascript
详解Node.js异步处理的各种写法
2019/06/09 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
Python中使用装饰器时需要注意的一些问题
2015/05/11 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
python使用turtle库与random库绘制雪花
2018/06/22 Python
使用Django2快速开发Web项目的详细步骤
2019/01/06 Python
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
python中的测试框架
2020/11/13 Python
佳能法国商店:Canon法国
2019/02/14 全球购物
如何用Python来进行查询和替换一个文本字符串
2014/01/02 面试题
医院标语大全
2014/06/23 职场文书
意向书范本
2014/07/29 职场文书
党员民主生活会个人整改措施材料
2014/09/16 职场文书
思想作风建设心得体会
2014/10/22 职场文书
写景作文评语集锦
2014/12/25 职场文书
优秀教研组申报材料
2014/12/26 职场文书
2016大学自主招生推荐信范文
2015/03/23 职场文书
2015小学教师年度工作总结
2015/05/12 职场文书
《走遍天下书为侣》教学反思
2016/02/22 职场文书
使用Pytorch训练two-head网络的操作
2021/05/28 Python