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爬虫之urllib2中的两个重要概念:Openers和Handlers
在开始后面的内容之前,先来解释一下urllib2中的两个个方法:info / geturl urlopen返回的应答对象response(或者HTTPError实例)有两个很有用的方法info()和geturl() 1.geturl(): 这个返回获取的真实的URL,这个很有用,因为urlopen(或者opener对象使用的)或许会有重定向.获取的URL或许跟请求URL不同. 以人人中的一个超级链接为例, 我们建一个urllib2_test10.py来比较一下原始URL和重定向的链接: 复制代码
-
Python爬虫框架Scrapy安装使用步骤
一.爬虫框架Scarpy简介Scrapy 是一个快速的高层次的屏幕抓取和网页爬虫框架,爬取网站,从网站页面得到结构化的数据,它有着广泛的用途,从数据挖掘到监测和自动测试,Scrapy完全用Python实现,完全开源,代码托管在Github上,可运行在Linux,Windows,Mac和BSD平台上,基于Twisted的异步网络库来处理网络通讯,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片. 二.Scrapy安装指南 我们的安装步骤假设你已经安装一下内容:<1>
-
使用Python编写简单网络爬虫抓取视频下载资源
我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎,所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚本语言,没有之一.Python的语言简洁灵活,标准库功能强大,平常可以用作计算器,文本编码转换,图片处理,批量下载,批量处理文本等.总之我很喜欢,也越用越上手,这么好用的一个工具,一般人我不告诉他... 因为其强大的字符串处理能力,以及urllib2,cookielib,re,threading这些
-
Python开发实例分享bt种子爬虫程序和种子解析
看到网上也有开源的代码,这不,我拿来进行了二次重写,呵呵,上代码: 复制代码 代码如下: #encoding: utf-8 import socket from hashlib import sha1 from random import randint from struct import unpack, pack from socket import inet_aton, inet_ntoa from bisect import b
-
python实现爬虫下载漫画示例
复制代码 代码如下: #!/usr/bin/python3.2import os,socketimport urllibimport urllib.request,threading,timeimport re,sysglobal manhuaweb,weburl,floder,chapterbegin,currentthreadnum,threadcount,mutex,mutex2 weburl=''floder=''chapterbegin=0currentthreadnum=0threa
-
零基础写python爬虫之urllib2使用指南
前面说到了urllib2的简单入门,下面整理了一部分urllib2的使用细节. 1.Proxy 的设置 urllib2 默认会使用环境变量 http_proxy 来设置 HTTP Proxy. 如果想在程序中明确控制 Proxy 而不受环境变量的影响,可以使用代理. 新建test14来实现一个简单的代理Demo: 复制代码 代码如下: import urllib2 enable_proxy = True proxy_handler = urllib2.ProxyHandler({"http&
-
python抓取网页图片示例(python爬虫)
复制代码 代码如下: #-*- encoding: utf-8 -*-'''Created on 2014-4-24 @author: Leon Wong''' import urllib2import urllibimport reimport timeimport osimport uuid #获取二级页面urldef findUrl2(html): re1 = r'http://tuchong.com/\d+/\d+/|http://\w+(?<!photos).tuchong.co
-
python实现的一只从百度开始不断搜索的小爬虫
文中用到了BeautifulSoup这个库, 目的是处理html文档分析的, 因为我只是提取了title的关键字,所以可以用正则表达式代替, 还有一个库是jieba, 这个库是中文分词的作用, 再有一个库是 chardet, 用来判断字符的编码, 本想多线程的, 但是自认为被搞糊涂了,就放弃了 复制代码 代码如下: #coding:utf-8import reimport urllibimport urllib2import sysimport timeimport Queue import t
-
零基础写python爬虫之使用urllib2组件抓取网页内容
版本号:Python2.7.5,Python3改动较大,各位另寻教程. 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地. 类似于使用程序模拟IE浏览器的功能,把URL作为HTTP请求的内容发送到服务器端, 然后读取服务器端的响应资源. 在Python中,我们使用urllib2这个组件来抓取网页. urllib2是Python的一个获取URLs(Uniform Resource Locators)的组件. 它以urlopen函数的形式提供了一个非常简单的接口. 最简
-
一则python3的简单爬虫代码
不得不说python的上手非常简单.在网上找了一下,大都是python2的帖子,于是随手写了个python3的.代码非常简单就不解释了,直接贴代码. 复制代码 代码如下: #test rdpimport urllib.requestimport re<br>#登录用的帐户信息data={}data['fromUrl']=''data['fromUrlTemp']=''data['loginId']='12345'data['password']='12345'user_agent='Mozil
-
python爬虫教程之爬取百度贴吧并下载的示例
测试url:http://tieba.baidu.com/p/27141123322?pn=begin 1end 4 复制代码 代码如下: import string ,urllib2 def baidu_tieba(url,begin_page,end_page): for i in range(begin_page, end_page+1): sName = string.zfill(i,5)+ '.html' print '正在下载第' + str(
-
python爬虫入门教程之点点美女图片爬虫代码分享
继续鼓捣爬虫,今天贴出一个代码,爬取点点网「美女」标签下的图片,原图. # -*- coding: utf-8 -*- #--------------------------------------- # 程序:点点美女图片爬虫 # 版本:0.2 # 作者:zippera # 日期:2013-07-26 # 语言:Python 2.7 # 说明:能设置下载的页数 #--------------------------------------- import urllib2 import urll
-
零基础写python爬虫之HTTP异常处理
先来说一说HTTP的异常处理问题. 当urlopen不能够处理一个response时,产生urlError. 不过通常的Python APIs异常如ValueError,TypeError等也会同时产生. HTTPError是urlError的子类,通常在特定HTTP URLs中产生. 1.URLError 通常,URLError在没有网络连接(没有路由到特定服务器),或者服务器不存在的情况下产生. 这种情况下,异常同样会带有"reason"属性,它是一个tuple(可以理解为不可变的
随机推荐
- 将sqlite3中数据导入到mysql中的实战教程
- oracle 分页问题解决方案
- PHP读取word文档的方法分析【基于COM组件】
- javascript cookies操作集合
- JS 页面自动加载函数(兼容多浏览器)
- 完美解决在ThinkPHP控制器中命名空间的问题
- php开发中的页面跳转方法总结
- php实现MySQL数据库备份与还原类实例
- Docker基本命令使用详解(推荐)
- 重置MySQL数据库root密码(linux/windows)
- JavaScript中获取纯正的undefined的方法
- python中range()与xrange()用法分析
- jQuery Ajax方式上传文件的方法
- AJAX页面状态保持思路详解
- 代码实例之纯CSS代码实现翻页效果
- 让批处理被wsh解析的代码
- 在Visual Studio中用C++语言创建DLL动态链接库图文教程
- Java连接mysql数据库并进行内容查询的方法
- jquery实现两个图片渐变切换效果的方法
- jquery表单插件Autotab使用方法详解