Python使用爬虫猜密码
作者:mrr 发布时间:2023-03-21 12:38:39
标签:python,爬虫
我们可以通过python 来实现这样一个简单的爬虫猜密码功能。下面就看看如何使用python来实现这样一个功能。
这里我们知道用户的昵称为:heibanke
密码是30以内的一个数字,要使用requests库循环提交来猜密码
主要需要用到的库是requests库
安装requests库
pip install requests
要使用到的request库的功能是表单的提交
requests.post(url,data)#通过post()语言向网址url发生data
首先查看网页源码,找到需要提交的内容的参数名称
可以看到需要提交的昵称的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,直至猜中。
关键在于如何判断猜错了没?
首先看看猜错了的显示:
我们可以读取出该页面的文字,检测文字中有没有"错误"二字,有就代表提交的密码错误,没有就表示正确。要实现此功能,需要用到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 容器总结整理list可变数组tuple不可变数组dict键值对(key-value)的字典(dictionary)初始化:a=
- 前言博主参与过大大小小十次数学建模比赛,也获得了不少建模奖项。对于一些小批量样本数据去做预测或者是评估其规律性的话,比较适合的模型一般都是选
- 第一步肯定是打上SQL SERVER最新的安全补丁.如果这一步都没有做好,那我们也没有继续下去的必要了。 第二步是修改默认的1433端口,并
- 先以一个大牛的一段关于Python Metapgramming的著名的话来做开头:Metaclasses are deeper magic
- #Pyton中让两个值互换的实现方法#方法一:可以理解为相当于是同时赋值a = 5b = 4a,b = b,aprint(a,b)#方法二:
- 这篇论坛文章着重介绍了Access数据库出现0x80004005问题的解决方法,更多内容请参考下文:项目做了三个月了,终于也差不多完成了,昨
- 问题描述:很多网站会对用户发帖内容进行一定的检查,并自动把敏感词修改为特定的字符。技术要点:1)Python正则表达式模块re的sub()函
- MySQL各版本,对于add Index的处理方式是不同的,主要有三种:(1)Copy Table方式这是InnoDB最早支持的创建索引的方
- docker安装mysqldocker search mysql 搜索docker pull mysql:5.6
- 目录基本介绍优缺点Python实现方式1,元类实现:方式2,继承实现:方式3,装饰器实现:方式4,模块实现:方式5,@classmethod
- 简单来说python的内存管理机制有三种1)引用计数2)垃圾回收3)内存池接下来我们来详细讲解这三种管理机制1,引用计数:引用计
- 0x01 前言Nessus是一个功能强大而又易于使用的远程安全扫描器,Nessus对个人用户是免费的,只需要在官方网站上填邮箱,立马就能收到
- 安装cuda 我强调下 这个需要注意版本问题的注意 (个人的想法,安装思路,仅供参考)pytorch 需要注意这个现在支持的版本.根据这个支
- 目录MYSQL METADATA LOCK(MDL LOCK)学习 理论知识和加锁类型测试 一、初步了解二、基础重要的数据结构(类
- 前言在服务部署在mysql上应该有好几个月了,因为现在的工作基本都在终端,因此很少登陆,今天要修改个东西,忽然发现我竟然已经彻底忘记了mys
- 前言记得刚入门那个时候,自己处理编码转换问题往往是“百度:url解码、base64加密、hex……”,或者是使用一款叫做“小葵多功能转换工具
- 投影变换(仿射变换)在数学中,线性变换是将一个向量空间映射到另一个向量空间的函数,通常由矩阵实现。如果映射保留向量加法和标量乘法,则映射被认
- 一、思路分析和效果图用vue来实现一个瀑布流效果,加载网络图片,同时有下拉刷新和上拉加载更多功能效果。然后针对这几个效果的实现,捋下思路:根
- golang.org/x包放到了https://github.com/golang/text中,下载时需要先在本地建立golang.org/
- 元素浮动导致的问题及解决办法大家都应该很熟悉了,举个简单的例子:<style type="text/css">