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数据类型转换函数总结
Mar 11 Python
Python对小数进行除法运算的正确方法示例
Aug 25 Python
Python3实现从文件中读取指定行的方法
May 22 Python
Python实现的简单hangman游戏实例
Jun 28 Python
Python unittest模块用法实例分析
May 25 Python
PyTorch搭建多项式回归模型(三)
May 22 Python
浅谈pytorch、cuda、python的版本对齐问题
Jan 15 Python
Python 日期的转换及计算的具体使用详解
Jan 16 Python
使用python接受tgam的脑波数据实例
Apr 09 Python
matplotlib.pyplot.plot()参数使用详解
Jul 28 Python
python利用xlsxwriter模块 操作 Excel
Oct 14 Python
pytorch 实现变分自动编码器的操作
May 24 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
967 个函式
2006/10/09 PHP
我的论坛源代码(七)
2006/10/09 PHP
PHP如何得到当前页和上一页的地址?
2006/11/27 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
2015/09/23 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
2019/02/14 PHP
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
2014/07/15 NodeJs
关于javascript事件响应的基础语法总结(必看篇)
2016/12/26 Javascript
Angular实现的简单定时器功能示例
2017/12/28 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
2018/03/08 Javascript
原生js检测页面加载完毕的实例
2018/09/11 Javascript
解决vue axios的封装 请求状态的错误提示问题
2018/09/25 Javascript
element-ui 时间选择器限制范围的实现(随动)
2019/01/09 Javascript
react koa rematch 如何打造一套服务端渲染架子
2019/06/26 Javascript
layui表格数据复选框回显设置方法
2019/09/13 Javascript
vue中defineProperty和Proxy的区别详解
2020/11/30 Vue.js
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
python实现ipsec开权限实例
2014/11/11 Python
Python类的用法实例浅析
2015/05/27 Python
简单理解Python中的装饰器
2015/07/31 Python
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
python机器学习实战之K均值聚类
2017/12/20 Python
Python hashlib模块用法实例分析
2018/06/12 Python
利用python画出折线图
2018/07/26 Python
python实现桌面气泡提示功能
2019/07/29 Python
Python如何调用外部系统命令
2019/08/07 Python
Python 连接 MySQL 的几种方法
2020/09/09 Python
python制作微博图片爬取工具
2021/01/16 Python
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
Jimmy Choo美国官网:周仰杰鞋子品牌
2018/06/08 全球购物
大学毕业生的自我鉴定
2013/11/30 职场文书
自我评价如何写好?
2014/01/05 职场文书
服装行业创业计划书范文
2014/02/05 职场文书
大学生先进事迹材料
2014/02/16 职场文书
师范生小学见习总结
2015/06/23 职场文书
JS数组的常用方法整理
2021/03/31 Javascript