詳解python 爬取12306驗(yàn)證碼
一個(gè)簡(jiǎn)單的驗(yàn)證碼爬取程序
本文介紹了在Python2.7環(huán)境下爬取網(wǎng)站驗(yàn)證碼:
思路就是獲取驗(yàn)證碼對(duì)應(yīng)的url,然后發(fā)起requst請(qǐng)求,讀取該URL對(duì)應(yīng)的內(nèi)容,然后寫(xiě)入到一個(gè)本地文件,實(shí)現(xiàn)一個(gè)驗(yàn)證碼的保存。大量下載可以把以上程序?qū)懭胍粋€(gè)死循環(huán)
代碼實(shí)現(xiàn)部分:
import ssl
import urllib2
i=1
import time
while(1):
#不加的話,無(wú)法訪問(wèn)12306
ssl._create_default_https_context = ssl._create_unverified_context
# headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36"}
# req = urllib2.Request("http://211.87.155.19/(yfsvlfreem4d0b553vkfzfzt)/CheckCode.aspx", headers=headers)
# https: // www.zhihu.com / captcha.gif?r = 1495351271125 & type = login
req = urllib2.Request("https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=login&rand=sjrand&0.7174227166135074")
u=urllib2.urlopen(req)
data = u.read()
f = open("C:/Users/123/Desktop/4/"+str(i)+".jpg",'wb')
print i
# time.sleep(1)#有時(shí)需要加延時(shí),以防被封。
i=i+1
f.write(data)
f.close()
以下就是爬取的照片的截圖

12306的驗(yàn)證碼經(jīng)常讓人眼花繚亂,眼睛仔細(xì)看也不能100%的對(duì),算是驗(yàn)證碼中比較難是別的。一般由八幅圖和一個(gè)問(wèn)題組成,而且圖片大小位置固定,問(wèn)題的位置也是固定的,這也稍微降低了識(shí)別的難度。八幅圖中一般有兩幅圖是同一物體,有一個(gè)和它比較像。不過(guò)有一點(diǎn)暫時(shí)沒(méi)法確定,就是樣本庫(kù)到底有多大,或者說(shuō)是到底有多少個(gè)類別,如果進(jìn)行訓(xùn)練的話,我們必須獲取每個(gè)類別個(gè)的一定數(shù)量的圖片作為樣本。
以上所述是小編給大家介紹的python爬取12306驗(yàn)證碼詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
解決Keras 中加入lambda層無(wú)法正常載入模型問(wèn)題
這篇文章主要介紹了解決Keras 中加入lambda層無(wú)法正常載入模型問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
將pandas.dataframe的數(shù)據(jù)寫(xiě)入到文件中的方法
今天小編就為大家分享一篇將pandas.dataframe的數(shù)據(jù)寫(xiě)入到文件中的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
利用python解決mysql視圖導(dǎo)入導(dǎo)出依賴的問(wèn)題
這篇文章主要給大家介紹了關(guān)于利用python解決mysql視圖導(dǎo)入導(dǎo)出依賴的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12
python數(shù)據(jù)持久存儲(chǔ) pickle模塊的基本使用方法解析
這篇文章主要介紹了python數(shù)據(jù)持久存儲(chǔ) pickle模塊的基本使用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
python+logging+yaml實(shí)現(xiàn)日志分割
這篇文章主要為大家詳細(xì)介紹了python+logging+yaml實(shí)現(xiàn)日志分割,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
如何使用PyTorch實(shí)現(xiàn)自由的數(shù)據(jù)讀取
這篇文章主要給大家介紹了關(guān)于如何使用PyTorch實(shí)現(xiàn)自由的數(shù)據(jù)讀取的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-03-03
Python+OpenCV實(shí)現(xiàn)分水嶺分割算法的示例代碼
分水嶺算法是用于分割的經(jīng)典算法,在提取圖像中粘連或重疊的對(duì)象時(shí)特別有用。本文將用Python+OpenCV實(shí)現(xiàn)這一算法,需要的可以參考一下2022-08-08
Python+selenium點(diǎn)擊網(wǎng)頁(yè)上指定坐標(biāo)的實(shí)例
今天小編就為大家分享一篇Python+selenium點(diǎn)擊網(wǎng)頁(yè)上指定坐標(biāo)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07

