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时间戳与时间字符串互相转换实例代码
Nov 28 Python
使用Python的Supervisor进行进程监控以及自动启动
May 29 Python
Python3中常用的处理时间和实现定时任务的方法的介绍
Apr 07 Python
在Python中移动目录结构的方法
Jan 31 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
Mar 30 Python
解决python3 json数据包含中文的读写问题
May 10 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
Dec 19 Python
python实现Virginia无密钥解密
Mar 20 Python
用Python实现最速下降法求极值的方法
Jul 10 Python
Python 中的pygame安装与配置教程详解
Feb 10 Python
python pymysql链接数据库查询结果转为Dataframe实例
Jun 05 Python
Python超详细分步解析随机漫步
Mar 17 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模拟HTTP认证
2006/10/09 PHP
php中的Base62类(适用于数值转字符串)
2013/08/12 PHP
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
用YUI做了个标签浏览效果
2007/02/20 Javascript
前台js改变Session的值(用ajax实现)
2012/12/28 Javascript
jquery修改属性值实例代码(设置属性值)
2014/01/06 Javascript
js实现的Easy Tabs选项卡用法实例
2015/09/06 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
详解RequireJS按需加载样式文件
2017/04/12 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
2017/07/25 Javascript
JavaScript继承与聚合实例详解
2019/01/22 Javascript
基于ssm框架实现layui分页效果
2019/07/27 Javascript
[12:29]《一刀刀一天》之DOTA全时刻19:蝙蝠骑士田伯光再度不举
2014/06/10 DOTA
python的三目运算符和not in运算符使用示例
2014/03/03 Python
Python Property属性的2种用法
2015/06/21 Python
Python检测生僻字的实现方法
2016/10/23 Python
python使用mysql的两种使用方式
2018/03/07 Python
Numpy array数据的增、删、改、查实例
2018/06/04 Python
解决Pycharm运行时找不到文件的问题
2018/10/29 Python
python线程里哪种模块比较适合
2020/08/02 Python
俄罗斯连接商品和买家的在线平台:goods.ru
2020/11/30 全球购物
幼儿园教师国培感言
2014/02/02 职场文书
献爱心活动总结
2014/05/07 职场文书
2014年安全生产大检查方案
2014/05/13 职场文书
小学生读书活动总结
2014/06/30 职场文书
员工年终自我评价
2014/09/14 职场文书
个人工作总结范文2014
2014/11/07 职场文书
大学生旷课检讨书1000字
2015/02/19 职场文书
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python
MySQL千万级数据表的优化实战记录
2021/08/04 MySQL
Python 如何利用ffmpeg 处理视频素材
2021/11/27 Python
世界十大动漫制作公司排行榜,迪士尼上榜,第二是美国代表性文化符
2022/03/18 欧美动漫
SQL Server中的逻辑函数介绍
2022/05/25 SQL Server
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server