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实用日期时间处理方法汇总
May 09 Python
python简单实现操作Mysql数据库
Jan 29 Python
pandas使用get_dummies进行one-hot编码的方法
Jul 10 Python
Django页面数据的缓存与使用的具体方法
Apr 23 Python
Python3日期与时间戳转换的几种方法详解
Jun 04 Python
python自动化工具之pywinauto实例详解
Aug 26 Python
Python实现线性插值和三次样条插值的示例代码
Nov 13 Python
pytorch 实现查看网络中的参数
Jan 06 Python
Django多数据库配置及逆向生成model教程
Mar 28 Python
PyQt使用QPropertyAnimation开发简单动画
Apr 02 Python
通过代码实例了解Python异常本质
Sep 16 Python
django中websocket的具体使用
Jan 22 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中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
PHP实现货币换算的方法
2014/11/29 PHP
php+ajax无刷新上传图片实例代码
2015/11/17 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
2016/11/14 PHP
php中的抽象方法和抽象类
2017/02/14 PHP
phpstorm 配置xdebug的示例代码
2019/03/31 PHP
phpstudy隐藏index.php的方法
2020/09/21 PHP
javascript iframe编程相关代码
2009/12/28 Javascript
跟着JQuery API学Jquery 之二 属性
2010/04/09 Javascript
学习面向对象之面向对象的基本概念:对象和其他基本要素
2010/11/30 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
老生常谈ES6中的类
2017/07/31 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
2019/05/28 Javascript
JS实现放大镜效果
2020/09/21 Javascript
jQuery实现查看图片功能
2020/12/01 jQuery
原生JavaScript实现进度条
2021/02/19 Javascript
Python编写屏幕截图程序方法
2015/02/18 Python
Python导出DBF文件到Excel的方法
2015/07/25 Python
通过Pandas读取大文件的实例
2018/06/07 Python
python递归实现快速排序
2018/08/18 Python
python2和python3的输入和输出区别介绍
2018/11/20 Python
Python简易版停车管理系统
2019/08/12 Python
基于Python获取城市近7天天气预报
2019/11/26 Python
用Python开发app后端有优势吗
2020/06/29 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
小结Python的反射机制
2020/09/28 Python
在线购买澳大利亚设计师手拿包和奢华晚装手袋:Olga Berg
2019/03/20 全球购物
Mountain Warehouse波兰官方网站:英国户外品牌
2019/08/29 全球购物
什么造成了Java里面的异常
2016/04/24 面试题
异步传递消息系统的作用
2016/05/01 面试题
学校消防演习方案
2014/02/19 职场文书
李敖北大演讲稿
2014/05/24 职场文书
Python 类,对象,数据分类,函数参数传递详解
2021/09/25 Python
mysql序号rownum行号实现方式
2022/12/24 MySQL