現(xiàn)在自學(xué)python中,說是自學(xué)也是看過一些視頻的,這是我的第一篇博客,純屬野路子,就此記錄我學(xué)習(xí)requests模塊的一小步,嘎嘎
以前在看視頻的時候,講到過用urllib,urllib2,cookilelib實(shí)現(xiàn)登陸scdn的腳本,后來接觸到了requests模塊就想著用它來寫一下,好了下面是代碼,寫的不好還請大家多多指正,在此謝過。
#coding=utf-8#首先導(dǎo)入我們幾天使用的模塊import requests,re#下面是我們請求登陸csdn的urlurl='https://passport.csdn.net/account/login?'#使用requests模塊,獲取當(dāng)前會話,這樣下面我們在請求的時候就方便很多s=requests.session()#對csdn登陸頁發(fā)起請求獲取到session,csdn不允許通過接口直接進(jìn)行訪問,所以我們偽裝下傳入headerheader = {'Server': 'openresty', 'Refer': 'http://my.csdn.net/', 'User-Agent': 'Mozilla/4.0 (compatible;MSIE 5.5;Windows NT)'}req=s.get(url,headers=header)#通過抓包我們可以發(fā)現(xiàn)在登陸csdn的時候會發(fā)送下面data中包含的請求,其中的lt參數(shù)通過正則抓取lt=re.findall('"lt" value="(.*?)"',req.text)[0]data={'_eventId':'submit','execution':'e1s1','lt':str(lt),'passWord':'密碼','username':'用戶名'}#下面是對csdn發(fā)起post請求,傳入需要的參數(shù),也就是datareq1=s.post(url,data=data)#驗(yàn)證下我們的登陸是否成功,只要做一下判斷就知道了,登陸成功進(jìn)入我的csdn頁面,檢查下是否有“我的C幣”req2=s.get('http://my.csdn.net/my/mycsdn',headers=header)if u'我的C幣' in req2.text:運(yùn)行一下'pass'說明成功登陸成功
新聞熱點(diǎn)
疑難解答