Python使用爬虫猜密码

 更新时间:2016年02月19日 09:48:42   投稿:mrr  
我们可以通过python 来实现这样一个简单的爬虫猜密码功能。下面就看看如何使用python来实现这样一个功能,对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轻松管理与操作文件的技巧分享

    Python轻松管理与操作文件的技巧分享

    在日常开发中,我们经常会遇到需要对文件进行操作的场景,如读写文件、文件夹操作等。本文将为大家介绍一些 Python 中处理文件的实用技巧,让你的工作更高效
    2023-05-05
  • python 矩阵增加一行或一列的实例

    python 矩阵增加一行或一列的实例

    下面小编就为大家分享一篇python 矩阵增加一行或一列的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Django之PopUp的具体实现方法

    Django之PopUp的具体实现方法

    今天小编就为大家分享一篇Django之PopUp的具体实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python如何把字典写入到CSV文件的方法示例

    Python如何把字典写入到CSV文件的方法示例

    这篇文章主要介绍了Python如何把字典写入到CSV文件的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • python中dir()与__dict__属性的区别浅析

    python中dir()与__dict__属性的区别浅析

    这篇文章主要给大家介绍了关于python中dir()与__dict__属性的区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • 如何利用Python合并两张图片

    如何利用Python合并两张图片

    在Python中可以使用PIL库(Python Imaging Library)来合并两张图片,这篇文章主要给大家介绍了关于如何利用Python合并两张图片的相关资料,文中给了详细的代码示例,需要的朋友可以参考下
    2024-03-03
  • Python实现B站UP主自动监控功能详解

    Python实现B站UP主自动监控功能详解

    众所周知,B站有很多有趣的UP主,可以教大家一些"实用"的知识,但是他们一般都没有固定的更新时间。因此,本文将用Python编写一个脚本,自动监控UP是否更新了视频,感兴趣的可以了解一下
    2022-03-03
  • 详解利用Python scipy.signal.filtfilt() 实现信号滤波

    详解利用Python scipy.signal.filtfilt() 实现信号滤波

    这篇文章主要介绍了详解利用Python scipy.signal.filtfilt() 实现信号滤波,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • Python简易图形界面库easygui对话框整理大全

    Python简易图形界面库easygui对话框整理大全

    这篇文章主要给大家介绍了关于Python简易图形界面库easygui对话框的相关资料,EasyGUI是一个用Python编写的非常简易的GUI编程模块,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • Python实现葵花8号卫星数据自动下载实例

    Python实现葵花8号卫星数据自动下载实例

    这篇文章主要为大家介绍了Python实现葵花8号卫星数据自动下载实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10

最新评论