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


Posted in Python onMarch 16, 2015

万恶的苹果,我的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)

然后可以很方便的看到程序运行时候的输出,如下图

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

接下来就可以通过得到的html来抓取需要的信息了.

Python 相关文章推荐
一步步解析Python斗牛游戏的概率
Feb 12 Python
Python自定义主从分布式架构实例分析
Sep 19 Python
你真的了解Python的random模块吗?
Dec 12 Python
图解Python变量与赋值
Apr 03 Python
django的ORM模型的实现原理
Mar 04 Python
浅谈Python基础—判断和循环
Mar 22 Python
python flask框架实现传数据到js的方法分析
Jun 11 Python
python使用html2text库实现从HTML转markdown的方法详解
Feb 21 Python
Python matplotlib修改默认字体的操作
Mar 05 Python
详解pycharm2020.1.1专业版安装指南(推荐)
Aug 07 Python
python获取时间戳的实现示例(10位和13位)
Sep 23 Python
python 下载m3u8视频的示例代码
Nov 11 Python
python让图片按照exif信息里的创建时间进行排序的方法
Mar 16 #Python
python实现简单的计时器功能函数
Mar 14 #Python
python将图片文件转换成base64编码的方法
Mar 14 #Python
python在Windows8下获取本机ip地址的方法
Mar 14 #Python
python检测远程端口是否打开的方法
Mar 14 #Python
python检测远程udp端口是否打开的方法
Mar 14 #Python
python检测远程服务器tcp端口的方法
Mar 14 #Python
You might like
PHP中创建图像并绘制文字的例子
2014/11/19 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
jtable列中自定义button示例代码
2013/11/21 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
2014/09/22 Javascript
JavaScript中document.forms[0]与getElementByName区别
2015/01/21 Javascript
JS实现支持多选的遍历下拉列表代码
2015/08/20 Javascript
JQuery实现级联下拉框效果实例讲解
2015/09/17 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
react-native 封装选择弹出框示例(试用ios&android)
2017/07/11 Javascript
集合Bootstrap自定义confirm提示效果
2017/09/19 Javascript
Vue2.0设置全局样式(less/sass和css)
2017/11/18 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
js实现继承的方法及优缺点总结
2019/05/08 Javascript
layui-table获得当前行的上/下一行数据的例子
2019/09/24 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
vue实现移动端拖动排序
2020/08/21 Javascript
urllib2自定义opener详解
2014/02/07 Python
Python获取任意xml节点值的方法
2015/05/05 Python
Python中字符串的处理技巧分享
2016/09/17 Python
python爬虫_实现校园网自动重连脚本的教程
2018/04/22 Python
Python实现端口检测的方法
2018/07/24 Python
利用python修改json文件的value方法
2018/12/31 Python
python paramiko利用sftp上传目录到远程的实例
2019/01/03 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
对Django url的几种使用方式详解
2019/08/06 Python
关于Tensorflow使用CPU报错的解决方式
2020/02/05 Python
HTML5 Canvas锯齿图代码实例
2014/04/10 HTML / CSS
测绘专业大学生职业生涯规划书
2014/02/10 职场文书
2014年情人节活动方案
2014/02/16 职场文书
建材投资建议书
2014/05/16 职场文书
社区创先争优承诺书
2014/08/30 职场文书
群众路线教育实践活动对照检查材料
2014/09/22 职场文书
世界遗产的导游词
2015/02/13 职场文书
幼师大班个人总结
2015/02/13 职场文书
导游词之黄帝陵景区
2019/09/16 职场文书