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 相关文章推荐
CentOS 6.X系统下升级Python2.6到Python2.7 的方法
Oct 12 Python
Python+Selenium自动化实现分页(pagination)处理
Mar 31 Python
python使用opencv进行人脸识别
Apr 07 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
Apr 26 Python
浅谈pytorch和Numpy的区别以及相互转换方法
Jul 26 Python
python特性语法之遍历、公共方法、引用
Aug 08 Python
浅析python3字符串格式化format()函数的简单用法
Dec 07 Python
Python figure参数及subplot子图绘制代码
Apr 18 Python
基于logstash实现日志文件同步elasticsearch
Aug 06 Python
基于Python实现下载网易音乐代码实例
Aug 10 Python
python 获取谷歌浏览器保存的密码
Jan 06 Python
Pandas-DataFrame知识点汇总
Mar 16 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 Errcode: 28 终极解决方法
2009/07/01 PHP
CI配置多数据库访问的方法
2016/03/28 PHP
php中通过eval实现字符串格式的计算公式
2017/03/18 PHP
PHP实现将标点符号正则替换为空格的方法
2017/08/09 PHP
jquery 入门教程 [翻译] 推荐
2009/08/17 Javascript
基于jquery实现的移入页面上空文本框时,让它变为焦点,移出清除焦点
2011/07/26 Javascript
手机端网页点击链接触发自动拨打或保存电话的示例代码
2014/08/15 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
jQuery移动web开发中的页面初始化与加载事件
2015/12/03 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
整理关于Bootstrap导航的慕课笔记
2017/03/29 Javascript
详解vue跨组件通信的几种方法
2017/06/15 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
JavaScript同源策略和跨域访问实例详解
2018/04/03 Javascript
Node.js之readline模块的使用详解
2019/03/25 Javascript
vue实现点击追加选中样式效果
2019/11/01 Javascript
vue实现将一个数组内的相同数据进行合并
2019/11/07 Javascript
环形加载进度条封装(Vue插件版和原生js版)
2019/12/04 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
2020/05/03 Javascript
JS call()及apply()方法使用实例汇总
2020/07/11 Javascript
jQuery实现雪花飘落效果
2020/08/02 jQuery
js制作提示框插件
2020/12/24 Javascript
Vue多选列表组件深入详解
2021/03/02 Vue.js
Python实现的多进程和多线程功能示例
2018/05/29 Python
Django 内置权限扩展案例详解
2019/03/04 Python
Django中URL的参数传递的实现
2019/08/04 Python
python定间隔取点(np.linspace)的实现
2019/11/27 Python
Python vtk读取并显示dicom文件示例
2020/01/13 Python
python实现简单学生信息管理系统
2020/04/09 Python
HTML5图片预览实例分享
2014/06/04 HTML / CSS
黄金搭档广告词
2014/03/21 职场文书
施工安全承诺书
2014/05/22 职场文书
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
2014第二批党的群众路线教育实践活动对照检查材料思想汇报
2014/09/18 职场文书
2016党员党课心得体会
2016/01/07 职场文书
《只有一个地球》教学反思
2016/02/16 职场文书