国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python使用爬蟲(chóng)猜密碼

2019-11-25 16:55:44
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

我們可以通過(guò)python 來(lái)實(shí)現(xiàn)這樣一個(gè)簡(jiǎn)單的爬蟲(chóng)猜密碼功能。下面就看看如何使用python來(lái)實(shí)現(xiàn)這樣一個(gè)功能。


這里我們知道用戶的昵稱(chēng)為:heibanke

密碼是30以內(nèi)的一個(gè)數(shù)字,要使用requests庫(kù)循環(huán)提交來(lái)猜密碼

主要需要用到的庫(kù)是requests庫(kù)

安裝requests庫(kù)

復(fù)制代碼 代碼如下:

pip install requests

要使用到的request庫(kù)的功能是表單的提交

復(fù)制代碼 代碼如下:

requests.post(url,data)#通過(guò)post()語(yǔ)言向網(wǎng)址url發(fā)生data

首先查看網(wǎng)頁(yè)源碼,找到需要提交的內(nèi)容的參數(shù)名稱(chēng)

 

復(fù)制代碼 代碼如下:

可以看到需要提交的昵稱(chēng)的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開(kāi)始猜,不對(duì)就+1,直至猜中。

關(guān)鍵在于如何判斷猜錯(cuò)了沒(méi)?

首先看看猜錯(cuò)了的顯示:

 

我們可以讀取出該頁(yè)面的文字,檢測(cè)文字中有沒(méi)有"錯(cuò)誤"二字,有就代表提交的密碼錯(cuò)誤,沒(méi)有就表示正確。要實(shí)現(xiàn)此功能,需要用到find()函數(shù)

find()函數(shù)介紹:

函數(shù)原型:find(str, pos_start, pos_end)

解釋?zhuān)?/strong>

•str:被查找“字串”
•pos_start:查找的首字母位置(從0開(kāi)始計(jì)數(shù)。默認(rèn):0)
•pos_end: 查找的末尾位置(默認(rèn)-1)

返回值:如果查到:返回查找的第一個(gè)出現(xiàn)的位置。否則,返回-1。

example:

str = "0123"print str.find("2",1,-1) #2print str.find("1") #0,首次出現(xiàn)的位置

完整程序:

import requestspassword=0while 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+1else:print password#,最后打印出password為6,居然輸入06,006,0006都是對(duì)的break


運(yùn)行結(jié)果password為6

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 喀喇沁旗| 定边县| 乌鲁木齐县| 云霄县| 左云县| 甘孜县| 广安市| 秀山| 丹巴县| 泾阳县| 漠河县| 眉山市| 清徐县| 汽车| 夏津县| 凤凰县| 福贡县| 绿春县| 绥阳县| 文昌市| 六安市| 大埔区| 中方县| 遂昌县| 景宁| 昌都县| 青阳县| 景泰县| 拉萨市| 阳朔县| 建德市| 革吉县| 泗洪县| 莒南县| 武胜县| 沐川县| 绥滨县| 滦平县| 大埔县| 高雄市| 建始县|