標籤:src 管理 mozilla orm proc urllib2 open 對象 hand
1.使用urllib與urllib2包
2.使用cookielib自動管理cookie
3.360瀏覽器F12抓資訊
登入請求地址和驗證碼地址都拿到了
# -*- coding: utf-8 -*-import urllib2import urllibimport cookielib‘‘‘思路:1.通過cookie對象下載驗證碼圖片到本地2.手工填寫驗證碼3.登入4.拿到返回的登入資訊‘‘‘#將cookie綁定到對象opener,cookie由cookielib自動管理cookie = cookielib.CookieJar()handler = urllib2.HTTPCookieProcessor(cookie)opener = urllib2.build_opener(handler)#驗證碼url和登入urlcodeurl = ‘https://secure.elong.com/passport/getValidateCode‘loginurl=‘https://secure.elong.com/passport/ajax/elongLogin‘#根據驗證碼地址,下載圖片到d:/test.gifpicture = opener.open(codeurl).read()local = open(‘d:/test.gif‘,‘wb‘)local.write(picture)local.close()#開啟本驗證碼圖片,填寫驗證碼codePic = raw_input(‘input please:‘)#登入post fromData資料postData = {‘userName‘:‘13718651238‘, ‘passwd‘:‘abcdef0120‘, ‘validateCode‘:codePic, ‘rememberMe‘:‘false‘}#擷取的頭資訊headers = {‘Accept‘: ‘*/*‘,‘Accept-Language‘: ‘zh-CN,zh;q=0.8‘,‘Connection‘: ‘keep-alive‘,‘Content-Type‘: ‘application/x-www-form-urlencoded; charset=UTF-8‘,‘User-Agent‘: ‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36‘,}data = urllib.urlencode(postData)#將資料轉換為key1&value&key2&valuerequest = urllib2.Request(loginurl,data,headers)#發起登入請求response = opener.open(request)#根據最開始擷取的的cookie對象,擷取響應資訊result = response.read()#讀取print result
執行一下,手工輸入驗證碼,成功資訊:
python類比藝龍網登入帶驗證碼輸入