萬惡的蘋果,我的5s最近壞了,官方的零售店是根本就預(yù)約不到啊預(yù)約不到啊,所以只好去找授權(quán)維修點了,昨天送去之后人家說可能要返廠,周期大概20天左右,我直接就醉了,20天啊,快一個月啊,等手機到手都快清明了,fuck.今天下午無聊在網(wǎng)上搜了下看能不能查到維修進度,發(fā)現(xiàn)在蘋果官網(wǎng)就可以查看,不過我的機子目測還沒有送修,現(xiàn)在還查不到維修進度,趁著無聊沒事干,寫了個程序來即使的查看維修進度.
python的urllib2已經(jīng)添加了對于cookie的支持,這對于抓取一些要登錄的站點或者要設(shè)置cookie的站點很方便.
而且urllib2模塊支持調(diào)試模式,可以看到你的程序向服務(wù)器發(fā)送的請求已經(jīng)服務(wù)器返回的信息,這樣就可以很方便的看清楚自己程序是否有問題.
好了,不說廢話了,下面貼出代碼
代碼如下:
from bs4 import BeautifulSoup
import urllib2
import urllib
import cookielib
urllib2.urlopen('http://www.baidu.com').read()
baseurl='https://selfsolve.apple.com/repairstatus/GetRepairDetails.do'
headers = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Host':'selfsolve.apple.com',
'Origin':'https://selfsolve.apple.com',
'Referer':'https://selfsolve.apple.com/repairstatus/main.do',
'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4',
'Cache-Control':'max-age=0',
'Connection':'keep-alive',
'Content-Length':45,
'Content-Type':'application/x-www-form-urlencoded',
'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36',
}
postData={
'repair_id':'aaaaaa',#維修序號
'serial_number':'bbbbb'#手機序列號
}
if __name__=='__main__':
cj = cookielib.LWPCookieJar()
cookie_support = urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(
cookie_support,
urllib2.HTTPHandler(debuglevel=1),
urllib2.HTTPSHandler(debuglevel=1)
)
urllib2.install_opener(opener)
StrpostData=urllib.urlencode(postData)
req=urllib2.Request(baseurl,StrpostData,headers)
rsp=urllib2.urlopen(req)
text=rsp.read()
file=open('repair.html','w')
file.write(text)
file.close()
print text
raw_input()
好了,程序就是這樣子,上面說的添加cookie支持和開啟調(diào)試模式就是下面這段代碼
代碼如下:
cj = cookielib.LWPCookieJar()
cookie_support = urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(
cookie_support,
urllib2.HTTPHandler(debuglevel=1),
urllib2.HTTPSHandler(debuglevel=1)
)
urllib2.install_opener(opener)
然后可以很方便的看到程序運行時候的輸出,如下圖
接下來就可以通過得到的html來抓取需要的信息了.
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com