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

yipeiwu_com5年前Python基础

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

相关文章

python自定义函数实现一个数的三次方计算方法

python自定义函数实现一个数的三次方计算方法

python自定义函数在运行时,最初只是存在内存中,只有调用时才会触发运行。 def cube_count(a): if is_number(a): return a**...

从头学Python之编写可执行的.py文件

Python可是真强大。但他具体是怎么强大的,让我们一点一点来了解吧(小编每天晚上下班回家会抽时间看看教程,多充实下自己也是好的)。 废话不多说,就讲一下这个背景吧: 事情是这个样子的~...

windows下Python安装、使用教程和Notepad++的使用教程

windows下Python安装、使用教程和Notepad++的使用教程

一、Python下载 1.进入Python官网:https://www.python.org/ 2.选择windows版本(Download > Windows) 3.点击下载P...

2019 Python最新面试题及答案16道题

1.Python是如何进行内存管理的? 答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制 一、对象的引用计数机制 Python内部使用引用计数,来保持追踪内存中的对...

PyCharm在新窗口打开项目的方法

PyCharm在新窗口打开项目的方法

File->Setting 找到Appearance & Behavior -->System Setting,在右边窗口中选择 Open project in new wi...