詳解python 爬取12306驗證碼
一個簡單的驗證碼爬取程序
本文介紹了在Python2.7環(huán)境下爬取網(wǎng)站驗證碼:
思路就是獲取驗證碼對應(yīng)的url,然后發(fā)起requst請求,讀取該URL對應(yīng)的內(nèi)容,然后寫入到一個本地文件,實現(xiàn)一個驗證碼的保存。大量下載可以把以上程序?qū)懭胍粋€死循環(huán)
代碼實現(xiàn)部分:
import ssl import urllib2 i=1 import time while(1): #不加的話,無法訪問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)#有時需要加延時,以防被封。 i=i+1 f.write(data) f.close()
以下就是爬取的照片的截圖
12306的驗證碼經(jīng)常讓人眼花繚亂,眼睛仔細看也不能100%的對,算是驗證碼中比較難是別的。一般由八幅圖和一個問題組成,而且圖片大小位置固定,問題的位置也是固定的,這也稍微降低了識別的難度。八幅圖中一般有兩幅圖是同一物體,有一個和它比較像。不過有一點暫時沒法確定,就是樣本庫到底有多大,或者說是到底有多少個類別,如果進行訓(xùn)練的話,我們必須獲取每個類別個的一定數(shù)量的圖片作為樣本。
以上所述是小編給大家介紹的python爬取12306驗證碼詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
python3.7.3版本和django2.2.3版本是否可以兼容
在本篇文章里小編給大家整理的是一篇關(guān)于python3.7.3版本和django2.2.3版本是否可以兼容的相關(guān)知識點內(nèi)容,有興趣的朋友們可以學習下。2020-09-09Python使用conda如何安裝requirement.txt的擴展包
這篇文章主要介紹了Python使用conda如何安裝requirement.txt的擴展包問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02python selenium爬取斗魚所有直播房間信息過程詳解
這篇文章主要介紹了python selenium爬取斗魚所有直播房間信息過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08解決pyinstaller打包exe可執(zhí)行文件后運行找不到pandas或者XXX模塊
這篇文章主要介紹了解決pyinstaller打包exe可執(zhí)行文件后運行找不到pandas或者XXX模塊問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11Pytorch實現(xiàn)LSTM案例總結(jié)學習
這篇文章主要介紹了Pytorch實現(xiàn)LSTM案例總結(jié)學習,文章通過構(gòu)建網(wǎng)絡(luò)層、前向傳播forward()展開主題介紹,需要的小伙吧可以參考一下2022-07-07