最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)搶購(gòu)IPhone手機(jī)

 更新時(shí)間:2018年02月07日 11:55:09   作者:eric0069  
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)搶購(gòu)IPhone手機(jī),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

要買IPhone7主要有三個(gè)途徑吧,一是官網(wǎng)下單;二是官網(wǎng)預(yù)約,直營(yíng)店取貨;三是第三方渠道。第一個(gè)渠道需要等3-4周,而且是直接快遞過(guò)來(lái),方便是方便,缺點(diǎn)主要是對(duì)物流不放心和怕遇到瑕疵機(jī)器退換貨麻煩,優(yōu)點(diǎn)是可以信用卡12期免息付款。第三個(gè)渠道加價(jià)且不放心。預(yù)約去直營(yíng)店取機(jī)就是唯一選擇。

預(yù)約是唯一的問(wèn)題,官網(wǎng)上的預(yù)約號(hào)是不定時(shí)發(fā)放,基本剛出來(lái)幾分鐘就被搶走。編程改變世界,于是我用python寫了一個(gè)查詢腳本,在蘋果放票的第一時(shí)間通過(guò)蜂鳴器通知搶預(yù)約。

python代碼如下

#!/usr/bin/env python3
#encoding=utf8
import pycurl
import certifi
import json
import time
import ctypes
from io import BytesIO

def link(url, b):
 # print pycurl.version_info()
 # 這個(gè)函數(shù)創(chuàng)建一個(gè)同 libcurl中的CURL處理器相對(duì)應(yīng)的Curl對(duì)象.Curl對(duì)象自動(dòng)的設(shè)置CURLOPT_VERBOSE為0, CURLOPT_NOPROGRESS為1,提供一個(gè)默認(rèn)的CURLOPT_USERAGENT和設(shè)置CURLOPT_ERRORBUFFER指向一個(gè)私有的錯(cuò)誤緩沖區(qū).
 c = pycurl.Curl() # 創(chuàng)建一個(gè)同libcurl中的CURL處理器相對(duì)應(yīng)的Curl對(duì)象
 c.setopt(pycurl.CAINFO, certifi.where())
 c.setopt(pycurl.URL, url) # 設(shè)置要訪問(wèn)的網(wǎng)址 url = "http://www.cnn.com"
 # 寫的回調(diào)
 c.setopt(pycurl.WRITEFUNCTION, b.write)
 c.setopt(pycurl.FOLLOWLOCATION, 1) # 參數(shù)有1、2
 # 最大重定向次數(shù),可以預(yù)防重定向陷阱
 c.setopt(pycurl.MAXREDIRS, 5)
 # 連接超時(shí)設(shè)置
 c.setopt(pycurl.CONNECTTIMEOUT, 60) # 鏈接超時(shí)
 c.setopt(pycurl.TIMEOUT, 300) # 下載超時(shí)
 c.setopt(pycurl.HEADER, True)
 c.setopt(c.HTTPHEADER, ["Content-Type: application/x-www-form-urlencoded", "X-Requested-With:XMLHttpRequest",
       "Cookie:__cfduid=d27e1cfd61fd81d21d02b1da9fe4a72411473259699; 227c9_lastfid=0; 227c9_lastvisit=0%091473553135%09%2Fread.php%3Ftid%3D2063828; CNZZDATA950900=cnzz_eid%3D823435929-1473550264-%26ntime%3D1473550264"])
 # 模擬瀏覽器
 c.setopt(pycurl.USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)")
 c.setopt(pycurl.AUTOREFERER, 1)
 c.setopt(c.REFERER, url)
 #設(shè)置http代理
 #c.setopt(pycurl.PROXY, 'http://10.237.28.11:8080')
 return c

def search():
 player = ctypes.windll.kernel32
 targetType = "MNFR2CH/A"#金色iphone7 plus
 storeList = [{'R401': '環(huán)貿(mào)'}, {'R581': '"五角場(chǎng)"'}, {'R359': '南京東路'}, {'R389': '浦東'},
     {'R683': '環(huán)球港'}, {'R390': '香港廣場(chǎng)'}]
 url = "https://reserve.cdn-apple.com/CN/zh_CN/reserve/iPhone/availability.json"
 b = BytesIO()
 c = link(url, b)
 count = 1
 while True:
  print("第",count,"次請(qǐng)求")
  c.setopt(pycurl.URL, url)
  c.perform() #執(zhí)行上述訪問(wèn)網(wǎng)址的操作
  jsonStr = b.getvalue().decode('utf-8')
  jsonList = jsonStr.split("\r\n")
  decodejson = json.loads(jsonList[-1])
  for store in storeList:
   for (k, v) in store.items():
    if decodejson[k][targetType] != "NONE":
     print(v, decodejson[k][targetType])
     print("https://reserve-cn.apple.com/CN/zh_CN/reserve/iPhone?partNumber="+targetType+"&channel=1&rv=&path=&sourceID=&iPP=false&appleCare=&iUID=&iuToken=&carrier=&store="+k)
     player.Beep(1000, 1000)
  time.sleep(5)
  count += 1
 b.close()
 c.close()
 print("完成")

if __name__ == "__main__":
 search()

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何使用python操作vmware

    如何使用python操作vmware

    這篇文章主要介紹了如何使用python操作vmware,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 一步步講解利用Flask開發(fā)一個(gè)Web程序

    一步步講解利用Flask開發(fā)一個(gè)Web程序

    這篇文章主要介紹了使用Flask框架在Linux系統(tǒng)上開發(fā)一個(gè)簡(jiǎn)單的WatchList?Web程序的過(guò)程,包括了實(shí)現(xiàn)的詳細(xì)步驟,最終實(shí)現(xiàn)了一個(gè)包含登錄界面的Web程序,需要的朋友可以參考下
    2025-02-02
  • python中numpy.zeros(np.zeros)的使用方法

    python中numpy.zeros(np.zeros)的使用方法

    下面小編就為大家?guī)?lái)一篇python中numpy.zeros(np.zeros)的使用方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • pandas.DataFrame刪除/選取含有特定數(shù)值的行或列實(shí)例

    pandas.DataFrame刪除/選取含有特定數(shù)值的行或列實(shí)例

    今天小編就為大家分享一篇pandas.DataFrame刪除/選取含有特定數(shù)值的行或列實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Django使用視圖動(dòng)態(tài)輸出CSV以及PDF的操作詳解

    Django使用視圖動(dòng)態(tài)輸出CSV以及PDF的操作詳解

    這篇文章主要介紹了Django 如何使用視圖動(dòng)態(tài)輸出 CSV 以及 PDF,我們需要用到 python 的 csv 和 reportLab 庫(kù),通過(guò)django視圖來(lái)定義輸出我們需要的 csv 或者 pdf 文件,需要的朋友可以參考下
    2024-06-06
  • django ManyToManyField多對(duì)多關(guān)系的實(shí)例詳解

    django ManyToManyField多對(duì)多關(guān)系的實(shí)例詳解

    今天小編就為大家分享一篇django ManyToManyField多對(duì)多關(guān)系的實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • 一招教你解決Pytorch GPU版本安裝慢的問(wèn)題

    一招教你解決Pytorch GPU版本安裝慢的問(wèn)題

    Pytorch是一個(gè)流行的深度學(xué)習(xí)框架,廣泛應(yīng)用于計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理等領(lǐng)域,下面我們就來(lái)看看如何在Windows操作系統(tǒng)上安裝Pytorch GPU版本吧
    2025-03-03
  • Python編程快速上手——正則表達(dá)式查找功能案例分析

    Python編程快速上手——正則表達(dá)式查找功能案例分析

    這篇文章主要介紹了Python正則表達(dá)式查找功能,結(jié)合具體實(shí)例形式分析了Python基于正則表達(dá)式遍歷查找指定格式文件的相關(guān)操作技巧,需要的朋友可以參考下
    2020-02-02
  • Python與Appium實(shí)現(xiàn)手機(jī)APP自動(dòng)化測(cè)試的示例代碼

    Python與Appium實(shí)現(xiàn)手機(jī)APP自動(dòng)化測(cè)試的示例代碼

    本文主要介紹了Python與Appium實(shí)現(xiàn)手機(jī)APP自動(dòng)化測(cè)試的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Python實(shí)現(xiàn)隨機(jī)生成有效手機(jī)號(hào)碼及身份證功能示例

    Python實(shí)現(xiàn)隨機(jī)生成有效手機(jī)號(hào)碼及身份證功能示例

    這篇文章主要介紹了Python實(shí)現(xiàn)隨機(jī)生成有效手機(jī)號(hào)碼及身份證功能,結(jié)合完整實(shí)例形式分析了Python基于手機(jī)號(hào)與身份證算法實(shí)現(xiàn)隨機(jī)手機(jī)號(hào)及身份證的生成功能,涉及Python日期、隨機(jī)數(shù)、文件讀取等相關(guān)操作技巧,需要的朋友可以參考下
    2017-06-06

最新評(píng)論

新巴尔虎左旗| 宜州市| 吉隆县| 镇赉县| 滨州市| 明溪县| 荃湾区| 唐海县| 电白县| 建宁县| 清涧县| 比如县| 台安县| 札达县| 德安县| 和田市| 岱山县| 志丹县| 诏安县| 民丰县| 富裕县| 博白县| 西盟| 福鼎市| 金平| 新余市| 资兴市| 神木县| 观塘区| 育儿| 紫金县| 南郑县| 陵水| 托克托县| 长岛县| 无极县| 神池县| 铁力市| 平潭县| 苏尼特右旗| 白朗县|