未加星标

Python实现淘宝秒杀聚划算抢购自动提醒源码

字体大小 | |
[开发(python) 所属分类 开发(python) | 发布者 店小二05 | 时间 | 作者 红领巾 ] 0人收藏点击收藏

说明

本实例能够监控聚划算的抢购按钮,在聚划算整点聚的时间到达时发出提醒(音频文件自己定义位置)并自动弹开页面(URL自己定义)。

同时还可以通过命令行参数自定义刷新间隔时间(默认0.1s)和监控持续时间(默认1800s)。

源码

# encoding: utf-8
'''''
@author: Techzero
@email: [email protected]
@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():
'''''获取当前按钮状态'''
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():
'''''发出通知并用Chrome打开秒杀页面'''
subprocess.Popen([MEDIA_PLAYER, MEDIA_FILE])
if not NO_X11:
subprocess.Popen([CHROME, URL])
print '打开页面'


def monitor_button(interval, last):
'''''开始监视按钮'''
elapse = 0
while elapse < last:
current_button = get_current_button()

now = datetime.now()
print '%d-%d-%d %d:%d:%d - 现在按钮是 %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实现抢购IPhone手机Python 12306抢火车票脚本Python实现自动上京东抢手机Python 12306抢火车票脚本 Python京东抢手机脚本Python动刷新抢12306火车票的代码(附源码)手把手教你用python抢票回家过年(代码简单)100行Python代码实现自动抢火车票(附源码)使用Python+Splinter自动刷新抢12306火车票用Python抢过年的火车票附源码Python实现上下班抢个顺风单脚本

本文开发(python)相关术语:python基础教程 python多线程 web开发工程师 软件开发工程师 软件开发流程

主题: 淘宝Python京东ChromeWindowsEDI
tags: button,current,Python,lt,gt,line,now,elif,interval,print,break,import,last,find
分页:12
转载请注明
本文标题:Python实现淘宝秒杀聚划算抢购自动提醒源码
本站链接:http://www.codesec.net/view/572538.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(python) | 评论(0) | 阅读(47)