Heim > Backend-Entwicklung > Python-Tutorial > python实现查询苹果手机维修进度

python实现查询苹果手机维修进度

WBOY
Freigeben: 2016-06-10 15:17:19
Original
1443 Leute haben es durchsucht

万恶的苹果,我的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来抓取需要的信息了.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage