python實現查詢蘋果手機維修進度

來源:互聯網
上載者:User
萬惡的蘋果,我的5s最近壞了,官方的零售店是根本就預約不到啊預約不到啊,所以只好去找授權維修點了,昨天送去之後人家說可能要返廠,周期大概20天左右,我直接就醉了,20天啊,快一個月啊,等手機到手都快清明了,fuck.今天下午無聊在網上搜了下看能不能查到維修進度,發現在蘋果官網就可以查看,不過我的機子目測還沒有送修,現在還查不到維修進度,趁著無聊沒事幹,寫了個程式來即使的查看維修進度.

python的urllib2已經添加了對於cookie的支援,這對於抓取一些要登入的網站或者要設定cookie的網站很方便.

而且urllib2模組支援偵錯模式,可以看到你的程式向伺服器發送的請求已經伺服器返回的資訊,這樣就可以很方便的看清楚自己程式是否有問題.
好了,不說廢話了,下面貼出代碼
複製代碼 代碼如下:


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支援和開啟偵錯模式就是下面這段代碼
複製代碼 代碼如下:


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來抓取需要的資訊了.

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.