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实现apahce网站日志分析示例
Apr 02 Python
Python计算已经过去多少个周末的方法
Jul 25 Python
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
Mar 30 Python
你应该知道的python列表去重方法
Jan 17 Python
Python书单 不将就
Jul 11 Python
django传值给模板, 再用JS接收并进行操作的实例
May 28 Python
Python3实现对列表按元组指定列进行排序的方法分析
Dec 22 Python
Python解析命令行读取参数之argparse模块
Jul 26 Python
把vgg-face.mat权重迁移到pytorch模型示例
Dec 27 Python
Python3 虚拟开发环境搭建过程(图文详解)
Jan 06 Python
Flask处理Web表单的实现方法
Jan 31 Python
python通过函数名调用函数的几种方法总结
Jun 07 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实现通过get方式识别用户发送邮件的方法
2015/07/16 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
Javascript 函数对象的多重身份
2009/06/28 Javascript
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
javascript修改表格背景色实例代码分享
2013/12/10 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
js判断手机和pc端选择不同执行事件的方法
2015/01/30 Javascript
整理AngularJS中的一些常用指令
2015/06/16 Javascript
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
基于Jquery插件实现跨域异步上传文件功能
2016/04/26 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
React Native之prop-types进行属性确认详解
2017/12/19 Javascript
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
2019/07/29 Javascript
react ant Design手动设置表单的值操作
2020/10/31 Javascript
[20:21]《一刀刀一天》第十六期:TI国际邀请赛正式打响,总奖金超过550万
2014/05/23 DOTA
[31:01]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS Orenda
2014/05/23 DOTA
[50:44]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第二场 2月22日
2021/03/11 DOTA
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
python编程开发之类型转换convert实例分析
2015/11/13 Python
python打包生成的exe文件运行时提示缺少模块的解决方法
2018/10/31 Python
python中selenium操作下拉滚动条的几种方法汇总
2019/07/14 Python
Python+OpenCV实现将图像转换为二进制格式
2020/01/09 Python
Python插入Elasticsearch操作方法解析
2020/01/19 Python
pandas数据处理之绘图的实现
2020/06/15 Python
CSS3制作翻转效果_动力节点Java学院整理
2017/07/11 HTML / CSS
Roxy美国官网:澳大利亚冲浪、滑雪健身品牌
2016/07/30 全球购物
学前教育求职自荐信范文
2013/12/25 职场文书
结对共建工作方案
2014/06/02 职场文书
大学竞选班干部演讲稿
2014/08/21 职场文书
技术入股合作协议书
2014/10/07 职场文书
初中教师个人工作总结
2015/02/10 职场文书
三下乡个人总结
2015/03/04 职场文书
合作合同协议书
2016/03/21 职场文书
机关单位2016年法制宣传日活动总结
2016/04/01 职场文书