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中内置的NotImplemented类型的用法
Mar 31 Python
使用Python的Tornado框架实现一个一对一聊天的程序
Apr 25 Python
在python的类中动态添加属性与生成对象
Sep 17 Python
python3库numpy数组属性的查看方法
Apr 17 Python
从DataFrame中提取出Series或DataFrame对象的方法
Nov 10 Python
详解pandas数据合并与重塑(pd.concat篇)
Jul 09 Python
opencv 获取rtsp流媒体视频的实现方法
Aug 23 Python
解析PyCharm Python运行权限问题
Jan 08 Python
PyCharm2020最新激活码+激活码补丁(亲测最新版PyCharm2020.2激活成功)
Nov 25 Python
python 爬虫爬取京东ps4售卖情况
Dec 18 Python
python urllib库的使用详解
Apr 13 Python
Python实现自动玩连连看的脚本分享
Apr 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
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
PHP 获取远程文件大小的3种解决方法
2013/07/11 PHP
php使用preg_match()函数验证ip地址的方法
2017/01/07 PHP
Gambit vs CL BO3 第二场 2.13
2021/03/10 DOTA
Mootools 1.2教程 选项卡效果(Tabs)
2009/09/15 Javascript
asp.net HttpHandler实现图片防盗链
2009/11/09 Javascript
jQuery手动点击实现图片轮播特效
2020/04/20 Javascript
限制只能输入数字的实现代码
2016/05/16 Javascript
jquery自动补齐功能插件flexselect用法示例
2016/08/06 Javascript
Bootstrap时间选择器datetimepicker和daterangepicker使用实例解析
2016/09/17 Javascript
Vue实例简单方法介绍
2017/01/20 Javascript
Vue.js实战之Vuex的入门教程
2017/04/01 Javascript
JS实现图片预加载之无序预加载功能代码
2017/05/12 Javascript
vue2.0 自定义日期时间过滤器
2017/06/07 Javascript
解决JS外部文件中文注释出现乱码问题
2017/07/09 Javascript
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
2021/02/26 Vue.js
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
[01:01:18]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#2COL VS LGD
2016/03/03 DOTA
python re正则表达式模块(Regular Expression)
2014/07/16 Python
Python中title()方法的使用简介
2015/05/20 Python
Python基于Tkinter实现的记事本实例
2015/06/17 Python
python在文本开头插入一行的实例
2018/05/02 Python
python 使用socket传输图片视频等文件的实现方式
2019/08/07 Python
浅析python函数式编程
2020/09/26 Python
神路信息Java面试题目
2013/03/31 面试题
Linux上比较文件的命令都有哪些
2013/09/28 面试题
工程总经理工作职责
2013/12/09 职场文书
高中同学聚会邀请函
2014/01/11 职场文书
技能竞赛活动方案
2014/02/21 职场文书
委托书范文
2014/04/02 职场文书
小学英语教师先进事迹
2014/05/28 职场文书
打架赔偿协议书范本
2014/10/26 职场文书
老干部座谈会主持词
2015/07/03 职场文书
导游词之金鞭溪风景区
2019/09/12 职场文书
HTML页面滚动时部分内容位置固定不滚动的实现
2021/04/14 HTML / CSS