python實(shí)現(xiàn)查詢蘋果手機(jī)維修進(jìn)度
萬(wàn)惡的蘋果,我的5s最近壞了,官方的零售店是根本就預(yù)約不到啊預(yù)約不到啊,所以只好去找授權(quán)維修點(diǎn)了,昨天送去之后人家說(shuō)可能要返廠,周期大概20天左右,我直接就醉了,20天啊,快一個(gè)月啊,等手機(jī)到手都快清明了,fuck.今天下午無(wú)聊在網(wǎng)上搜了下看能不能查到維修進(jìn)度,發(fā)現(xiàn)在蘋果官網(wǎng)就可以查看,不過(guò)我的機(jī)子目測(cè)還沒有送修,現(xiàn)在還查不到維修進(jìn)度,趁著無(wú)聊沒事干,寫了個(gè)程序來(lái)即使的查看維修進(jìn)度.
python的urllib2已經(jīng)添加了對(duì)于cookie的支持,這對(duì)于抓取一些要登錄的站點(diǎn)或者要設(shè)置cookie的站點(diǎn)很方便.
而且urllib2模塊支持調(diào)試模式,可以看到你的程序向服務(wù)器發(fā)送的請(qǐng)求已經(jīng)服務(wù)器返回的信息,這樣就可以很方便的看清楚自己程序是否有問(wèn)題.
好了,不說(shuō)廢話了,下面貼出代碼
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',#維修序號(hào)
'serial_number':'bbbbb'#手機(jī)序列號(hào)
}
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()
好了,程序就是這樣子,上面說(shuō)的添加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)
然后可以很方便的看到程序運(yùn)行時(shí)候的輸出,如下圖
接下來(lái)就可以通過(guò)得到的html來(lái)抓取需要的信息了.
- Python(Tornado)模擬登錄小米搶手機(jī)
- Python爬蟲抓取手機(jī)APP的傳輸數(shù)據(jù)
- 使用python編寫腳本獲取手機(jī)當(dāng)前應(yīng)用apk的信息
- python實(shí)現(xiàn)發(fā)送和獲取手機(jī)短信驗(yàn)證碼
- python抓取京東商城手機(jī)列表url實(shí)例代碼
- 使用python編寫批量卸載手機(jī)中安裝的android應(yīng)用腳本
- 使用python檢測(cè)手機(jī)QQ在線狀態(tài)的腳本代碼
- 使用python BeautifulSoup庫(kù)抓取58手機(jī)維修信息
- Python根據(jù)區(qū)號(hào)生成手機(jī)號(hào)碼的方法
- Python抓取手機(jī)號(hào)歸屬地信息示例代碼
相關(guān)文章
python中subprocess批量執(zhí)行l(wèi)inux命令
本篇文章給大家詳細(xì)講述了python中使用subprocess批量執(zhí)行l(wèi)inux命令的方法,有興趣的朋友參考學(xué)習(xí)下。2018-04-04Python循環(huán)語(yǔ)句中else的用法總結(jié)
這篇文章給大家整理了關(guān)于Python中循環(huán)語(yǔ)句中else的用法,包括常規(guī)的 if else 用法、if else 快捷用法、與 for 關(guān)鍵字一起用、與 while 關(guān)鍵字一起用以及與 try except 一起用的用法總結(jié),有需要的朋友們可以參考借鑒。2016-09-09一文帶你掌握Python?Seaborn數(shù)據(jù)可視化高級(jí)篇
這篇文章主要為大家詳細(xì)介紹了如何使用?Seaborn?創(chuàng)建復(fù)合圖形,如網(wǎng)格圖、因子圖和聚類熱圖等,文中示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下2023-07-07Python DBM模塊輕松使用小型數(shù)據(jù)庫(kù)存儲(chǔ)管理數(shù)據(jù)
這篇文章主要介紹了Python DBM模塊輕松使用小型數(shù)據(jù)庫(kù)存儲(chǔ)管理數(shù)據(jù),它可以讓你輕松地存儲(chǔ)和管理鍵值對(duì)數(shù)據(jù),可以使用 dbm 模塊來(lái)操作 DBM 文件,或者使用 shelve 模塊來(lái)存儲(chǔ)任意類型的 Python 對(duì)象2024-01-01python小巧而強(qiáng)大的網(wǎng)絡(luò)爬蟲工具Grab輕松抓取站點(diǎn)信息
Grab?是一個(gè)強(qiáng)大的?python?網(wǎng)絡(luò)爬蟲框架,由?Greg?Lavr?開發(fā),它能夠讓你輕松地從互聯(lián)網(wǎng)上抓取所需的信息,Grab?基于?pycurl[1],是性能十分優(yōu)越的一個(gè)?HTTP?客戶端,由于采用了異步網(wǎng)絡(luò)?I/O?模型,Grab?甚至可以并行處理數(shù)千個(gè)網(wǎng)絡(luò)連接2024-01-01Django 1.10以上版本 url 配置注意事項(xiàng)詳解
這篇文章主要介紹了Django 1.10以上版本 url 配置注意事項(xiàng)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08python讀取并定位excel數(shù)據(jù)坐標(biāo)系詳解
這篇文章主要介紹了python讀取并定位excel數(shù)據(jù)坐標(biāo)系詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-06-06