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 相关文章推荐
简单介绍利用TK在Python下进行GUI编程的教程
Apr 13 Python
python数据结构之图的实现方法
Jul 08 Python
python制作花瓣网美女图片爬虫
Oct 28 Python
Python实现计算最小编辑距离
Mar 17 Python
详解Python的collections模块中的deque双端队列结构
Jul 07 Python
Python实现自定义顺序、排列写入数据到Excel的方法
Apr 23 Python
Python中的pathlib.Path为什么不继承str详解
Jun 23 Python
python统计指定目录内文件的代码行数
Sep 19 Python
python装饰器原理与用法深入详解
Dec 19 Python
python 爬取马蜂窝景点翻页文字评论的实现
Jan 20 Python
python实现文件分片上传的接口自动化
Nov 19 Python
浅谈Python数学建模之线性规划
Jun 23 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
环境会对咖啡种植有什么影响
2021/03/03 咖啡文化
PHP中include()与require()的区别说明
2017/02/14 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
浅谈PHP错误类型及屏蔽方法
2017/05/27 PHP
麻雀虽小五脏俱全 Dojo自定义控件应用
2010/09/04 Javascript
基于jquery的blockui插件显示弹出层
2011/04/14 Javascript
jquery怎样实现ajax联动框(一)
2013/03/08 Javascript
JavaScript中判断对象类型的几种方法总结
2013/11/11 Javascript
jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析
2015/03/31 Javascript
招聘网站基于jQuery实现自动刷新简历
2015/05/10 Javascript
在Node.js应用中使用Redis的方法简介
2015/06/24 Javascript
javascript日期格式化方法小结
2015/12/17 Javascript
用JS生成UUID的方法实例
2016/03/30 Javascript
对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
2016/04/11 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
vue.js $refs和$emit 父子组件交互的方法
2017/12/20 Javascript
webpack+react+antd脚手架优化的方法
2018/04/02 Javascript
vue中使用protobuf的过程记录
2018/10/26 Javascript
python实现猜数字游戏(无重复数字)示例分享
2014/03/29 Python
python从sqlite读取并显示数据的方法
2015/05/08 Python
Python3实现从指定路径查找文件的方法
2015/05/22 Python
使用Python脚本将文字转换为图片的实例分享
2015/08/29 Python
python strip() 函数和 split() 函数的详解及实例
2017/02/03 Python
python利用高阶函数实现剪枝函数
2018/03/20 Python
python 3调用百度OCR API实现剪贴板文字识别
2018/09/04 Python
Python常见数据结构之栈与队列用法示例
2019/01/14 Python
Python学习之time模块的基本使用
2021/01/17 Python
详解HTML5 LocalStorage 本地存储
2016/12/23 HTML / CSS
设计部经理的岗位职责
2013/11/16 职场文书
2014年公司迎新年活动方案
2014/02/24 职场文书
部门2014年度工作总结
2014/11/12 职场文书
2015年中秋节演讲稿
2015/03/20 职场文书
2015年办公室主任工作总结
2015/04/09 职场文书
创业计划书之都市休闲农庄
2019/12/28 职场文书
Python爬虫基础初探selenium
2021/05/31 Python