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正则表达式匹配中文用法示例
Jan 17 Python
python urllib爬取百度云连接的实例代码
Jun 19 Python
Python设计模式之观察者模式简单示例
Jan 10 Python
python 顺时针打印矩阵的超简洁代码
Nov 14 Python
使用python对文件中的单词进行提取的方法示例
Dec 21 Python
python实现趣味图片字符化
Apr 30 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
Dec 10 Python
Python正则表达式急速入门(小结)
Dec 16 Python
浅析python表达式4+0.5值的数据类型
Feb 26 Python
Django实现列表页商品数据返回教程
Apr 03 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
Jun 29 Python
python爬虫调度器用法及实例代码
Nov 30 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
ajax实现无刷新分页(php)
2010/07/18 PHP
PHP版国家代码、缩写查询函数代码
2011/08/14 PHP
PHP变量的定义、可变变量、变量引用、销毁方法
2013/12/20 PHP
yii的入口文件index.php中为什么会有这两句
2016/08/04 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
2020/04/23 PHP
2007/12/23更新创意无限,简单实用(javascript log)
2007/12/24 Javascript
一个js的tab切换效果代码[代码分离]
2010/04/11 Javascript
jQuery表格行换色的三种实现方法
2011/06/27 Javascript
js获取TreeView控件选中节点的Text和Value值的方法
2012/11/24 Javascript
jQuery prev ~ siblings选择器使用介绍
2013/08/09 Javascript
javascript:void(0)使用探讨
2013/08/27 Javascript
javascript 寻找错误方法整理
2014/06/15 Javascript
js+css实现导航效果实例
2015/02/10 Javascript
完美实现仿QQ空间评论回复特效
2015/05/06 Javascript
js实现点击向下展开的下拉菜单效果代码
2015/09/01 Javascript
jquery背景跟随鼠标滑动导航
2015/11/20 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
node.js微信公众平台开发教程
2016/03/04 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
js实现自定义路由
2017/02/04 Javascript
js 用于检测类数组对象的函数方法
2017/05/02 Javascript
SVG动画vivus.js库使用小结(实例代码)
2017/09/14 Javascript
通过jquery.cookie.js实现记住用户名、密码登录功能
2018/06/20 jQuery
原生js实现拖拽移动与缩放效果
2020/08/24 Javascript
python实现的正则表达式功能入门教程【经典】
2017/06/05 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
python shutil文件操作工具使用实例分析
2019/12/25 Python
如何拷贝一整个Java对象,包括它的状态
2013/12/27 面试题
人事助理岗位职责
2013/11/18 职场文书
2014年教师节活动总结
2014/08/29 职场文书
2015年生产车间工作总结
2015/04/22 职场文书
学校运动会感想
2015/08/10 职场文书
Python基础之变量的相关知识总结
2021/06/23 Python
零基础学java之方法的定义与调用详解
2022/04/10 Java/Android