Python使用爬蟲猜密碼
我們可以通過python 來實(shí)現(xiàn)這樣一個(gè)簡單的爬蟲猜密碼功能。下面就看看如何使用python來實(shí)現(xiàn)這樣一個(gè)功能。
這里我們知道用戶的昵稱為:heibanke
密碼是30以內(nèi)的一個(gè)數(shù)字,要使用requests庫循環(huán)提交來猜密碼
主要需要用到的庫是requests庫
安裝requests庫
pip install requests
要使用到的request庫的功能是表單的提交
requests.post(url,data)#通過post()語言向網(wǎng)址url發(fā)生data
首先查看網(wǎng)頁源碼,找到需要提交的內(nèi)容的參數(shù)名稱
可以看到需要提交的昵稱的name=“username”,密碼的name=“password”
requests傳入網(wǎng)址的data中中需要包含這兩個(gè)參數(shù)
url = "http://www.heibanke.com/lesson/crawler_ex01/" params = {'username':'heibanke','password': str(password)} r = requests.post(url,data=params)
建立循環(huán),密碼從1開始猜,不對(duì)就+1,直至猜中。
關(guān)鍵在于如何判斷猜錯(cuò)了沒?
首先看看猜錯(cuò)了的顯示:
我們可以讀取出該頁面的文字,檢測(cè)文字中有沒有"錯(cuò)誤"二字,有就代表提交的密碼錯(cuò)誤,沒有就表示正確。要實(shí)現(xiàn)此功能,需要用到find()函數(shù)
find()函數(shù)介紹:
函數(shù)原型:find(str, pos_start, pos_end)
解釋:
•str:被查找“字串”
•pos_start:查找的首字母位置(從0開始計(jì)數(shù)。默認(rèn):0)
•pos_end: 查找的末尾位置(默認(rèn)-1)
返回值:如果查到:返回查找的第一個(gè)出現(xiàn)的位置。否則,返回-1。
example:
str = "0123" print str.find("2",1,-1) #2 print str.find("1") #0,首次出現(xiàn)的位置
完整程序:
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"錯(cuò)誤")>0:#判斷某次輸入是否正確 password=password+1 else: print password#,最后打印出password為6,居然輸入06,006,0006都是對(duì)的 break
運(yùn)行結(jié)果password為6
相關(guān)文章
python 隨機(jī)密碼生成器的實(shí)現(xiàn)示例
隨機(jī)密碼生成器是一種非常有用的工具,它可以幫助我們生成隨機(jī)的、復(fù)雜的密碼,提高我們的賬戶安全性,本文就來介紹一下python 隨機(jī)密碼生成器的實(shí)現(xiàn)示例,感興趣的可以了解一下2023-11-11python3中獲取文件當(dāng)前絕對(duì)路徑的兩種方法
下面小編就為大家分享一篇python3中獲取文件當(dāng)前絕對(duì)路徑的兩種方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04關(guān)于Flask項(xiàng)目無法使用公網(wǎng)IP訪問的解決方式
今天小編就為大家分享一篇關(guān)于Flask項(xiàng)目無法使用公網(wǎng)IP訪問的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11Python使用apscheduler模塊設(shè)置定時(shí)任務(wù)的實(shí)現(xiàn)
本文主要介紹了Python使用apscheduler模塊設(shè)置定時(shí)任務(wù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05教你利用python如何讀取txt中的數(shù)據(jù)
們使用python的時(shí)候經(jīng)常需要讀取txt文件中的內(nèi)容,下面這篇文章主要給大家介紹了關(guān)于利用python如何讀取txt中數(shù)據(jù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03pytorch中的hook機(jī)制register_forward_hook
這篇文章主要介紹了pytorch中的hook機(jī)制register_forward_hook,手動(dòng)在forward之前注冊(cè)hook,hook在forward執(zhí)行以后被自動(dòng)執(zhí)行,下面詳細(xì)的內(nèi)容介紹,需要的小伙伴可以參考一下2022-03-03Python實(shí)現(xiàn)的ini文件操作類分享
這篇文章主要介紹了Python實(shí)現(xiàn)的ini文件操作類分享,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-11-11Pytorch實(shí)現(xiàn)GoogLeNet的方法
今天小編就為大家分享一篇Pytorch實(shí)現(xiàn)GoogLeNet的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08