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的汉字转GBK码实现代码
Feb 19 Python
Python生成验证码实例
Aug 21 Python
使用Python的Twisted框架编写简单的网络客户端
Apr 16 Python
Python中标准模块importlib详解
Apr 16 Python
python对配置文件.ini进行增删改查操作的方法示例
Jul 28 Python
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
Feb 26 Python
python模糊图片过滤的方法
Dec 14 Python
python发送多人邮件没有展示收件人问题的解决方法
Jun 21 Python
Python3+Appium安装使用教程
Jul 05 Python
Pytest单元测试框架如何实现参数化
Sep 05 Python
如何基于Python按行合并两个txt
Nov 03 Python
Python基础之元编程知识总结
May 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
PHP4与PHP5的时间格式问题
2008/02/17 PHP
常用的php对象类型判断
2008/08/27 PHP
PHP父类调用子类方法的代码例子
2014/04/09 PHP
ThinkPHP实现动态包含文件的方法
2014/11/29 PHP
浅谈COOKIE和SESSION区别
2015/07/19 PHP
深入理解PHP+Mysql分布式事务与解决方案
2020/12/03 PHP
jquery 的 $("#id").html() 无内容的解决方法
2010/06/07 Javascript
Ext 今日学习总结
2010/09/19 Javascript
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
2012/02/03 Javascript
href下载文件根据id取url并下载
2014/05/28 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
2015/06/19 Javascript
JavaScript中最常见的三个面试题解析
2017/03/04 Javascript
Javascript中Promise的四种常用方法总结
2017/07/14 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
Vue插件从封装到发布的完整步骤记录
2019/02/28 Javascript
node解析修改nginx配置文件操作实例分析
2019/11/06 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
2020/07/23 Javascript
详解Vue中Axios封装API接口的思路及方法
2020/10/10 Javascript
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
python实现红包裂变算法
2016/02/16 Python
Windows下搭建python开发环境详细步骤
2020/07/20 Python
浅谈python和C语言混编的几种方式(推荐)
2017/09/27 Python
python3.0 模拟用户登录,三次错误锁定的实例
2017/11/02 Python
pandas 使用均值填充缺失值列的小技巧分享
2019/07/04 Python
详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
2021/01/24 Python
使用 css3 transform 属性来变换背景图的方法
2019/05/07 HTML / CSS
10个很棒的 CSS3 开发工具 推荐
2011/05/16 HTML / CSS
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
YSL Beauty加拿大官方商城:圣罗兰美妆加拿大
2017/05/15 全球购物
世界经理人咨询有限公司面试
2014/09/23 面试题
学雷锋活动简报
2015/07/20 职场文书
TV动画《政宗君的复仇》第二季制作决定PV公布
2022/04/02 日漫
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
2022/04/09 Javascript