python實現(xiàn)淘寶秒殺聚劃算搶購自動提醒源碼
更新時間:2020年06月23日 17:17:01 作者:Techzero
這篇文章主要為大家詳細介紹了Python實現(xiàn)淘寶秒殺聚劃算搶購自動提醒源碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
說明
本實例能夠監(jiān)控聚劃算的搶購按鈕,在聚劃算整點聚的時間到達時發(fā)出提醒(音頻文件自己定義位置)并自動彈開頁面(URL自己定義)。
同時還可以通過命令行參數(shù)自定義刷新間隔時間(默認0.1s)和監(jiān)控持續(xù)時間(默認1800s)。
源碼
# encoding: utf-8 ''''' @author: Techzero @email: techzero@163.com @time: 2014-5-18 下午5:06:29 ''' import cStringIO import getopt import time import urllib2 import subprocess import sys from datetime import datetime MEDIA_PLAYER = 'C:/Program Files/Windows Media Player/wmplayer.exe' MEDIA_FILE = 'D:/notify.mp3' CHROME = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe' URL = 'http://detail.ju.taobao.com/home.htm?spm=608.2214381.2.1.SY0wVT&item_id=16761325430&id=10000002801432' NO_X11 = False def get_current_button(): '''''獲取當前按鈕狀態(tài)''' content = urllib2.urlopen(URL).read() #獲取頁面內容 buf = cStringIO.StringIO(content.decode('gbk').encode('utf8')) #將頁面內容轉換為輸入流 current_button = None for line in buf: line = line.strip(' \n\r') #去掉回車換行 if line.find(r'<a href="#" rel="external nofollow" class="extra notice J_BuyButtonSub">開團提醒</a>') != -1: current_button = '開團提醒' break elif line.find(r'<div class="main-box chance ">') != -1: current_button = '還有機會' break elif line.find(r'<span class="out floatright">賣光了...</span>') != -1: current_button = '賣光了' break elif line.find(r'<span class="out floatright">已結束...</span>') != -1: current_button = '已結束' break elif line.find(r'<input type="submit" class="buyaction J_BuySubmit" title="馬上搶" value="馬上搶"/>') != -1: current_button = '馬上搶' break buf.close() return current_button def notify(): '''''發(fā)出通知并用Chrome打開秒殺頁面''' subprocess.Popen([MEDIA_PLAYER, MEDIA_FILE]) if not NO_X11: subprocess.Popen([CHROME, URL]) print '打開頁面' def monitor_button(interval, last): '''''開始監(jiān)視按鈕''' elapse = 0 while elapse < last: current_button = get_current_button() now = datetime.now() print '%d-%d-%d %d:%d:%d - 現(xiàn)在按鈕是 %s' % (now.year, now.month, now.day, now.hour, now.minute, now.second, current_button) if current_button == '馬上搶' or current_button == '還有機會': print '趕緊搶購!' notify() break elif current_button == '賣光了' or current_button == '已結束': print '下次再試吧!' break else: print '還沒開始呢,再等等吧!' time.sleep(interval) elapse += interval def usage(): print ''''' usage: monitor_mac_price.py [options] Options: -i interval: 30 seconds by default. -l last: 1800 seconds by default. -h: Print this usage. -X: Run under no X11. ''' if __name__ == '__main__': try: opts, args = getopt.getopt(sys.argv[1:], 'i:l:hX') except getopt.GetoptError, err: print str(err) sys.exit(1) interval = 0.1 last = 1800 for opt, val in opts: if opt == '-i': interval = int(val) elif opt == '-l': last = int(val) elif opt == '-X': NO_X11 = True elif opt == '-h': usage() sys.exit() monitor_button(interval, last)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python多線程編程(八):使用Event實現(xiàn)線程間通信
這篇文章主要介紹了Python多線程編程(八):使用Event實現(xiàn)線程間通信,,需要的朋友可以參考下2015-04-04python實現(xiàn)字典合并的五種方法(附示例代碼)
在Python中,有多種方法可以通過使用各種函數(shù)和構造函數(shù)來合并字典,在本文中,我們將討論一些合并字典的方法,并通過代碼示例講解的非常詳細,具有一定的參考價值,需要的朋友可以參考下2024-04-04Python開發(fā)之基于模板匹配的信用卡數(shù)字識別功能
這篇文章主要介紹了基于模板匹配的信用卡數(shù)字識別功能,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01