Python实现淘宝秒杀聚划算自动提醒源码
快来加入群【python爬虫交流群】(群号570070796),发现精彩内容。
本实例能够监控聚划算的抢购按钮,在聚划算整点聚的时间到达时发出提醒(音频文件自己定义位置)并自动弹开页面(URL自己定义)。
同时还可以通过命令行参数自定义刷新间隔时间(默认0.1s)和监控持续时间(默认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 =Falsedef 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="#" class="extra notice J_BuyButtonSub">开团提醒</a>') != -1:
current_button ='开团提醒'breakelif line.find(r'<div class="main-box chance ">')!=-1:
current_button ='还有机会'breakelif line.find(r'<span class="out floatright">卖光了...</span>')!=-1:
current_button ='卖光了'breakelif line.find(r'<span class="out floatright">已结束...</span>')!=-1:
current_button ='已结束'breakelif 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])ifnot NO_X11:
subprocess.Popen([CHROME, URL])print'打开页面'def monitor_button(interval, last):'''开始监视按钮'''
elapse =0while 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()breakelif current_button =='卖光了'or current_button =='已结束':print'下次再试吧!'breakelse: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 =1800for opt, val in opts:if opt =='-i':
interval = int(val)elif opt =='-l':
last = int(val)elif opt =='-X':
NO_X11 =Trueelif opt =='-h':
usage()
sys.exit()
monitor_button(interval, last)
快来加入群【python爬虫交流群】(群号570070796),发现精彩内容。
本文固定链接:http://www.itechzero.com/python-implementation-taobao-spike-and-juhuasuan-automatic-reminder-source.html。
Python实现淘宝秒杀聚划算自动提醒源码的更多相关文章
- Python 实现 淘宝秒杀 聚划算 自己主动提醒 源代码
说明 本实施例可以监视一起购买的成本button,当警报济济一堂花费时间整点到达(音频文件自定义位置)而自己主动跳出页面(URL习惯). 同一时候还能够通过命令行參数自己定义刷新间隔时间(默认0.1s ...
- Java 实现 淘宝秒杀 聚划算 自己主动提醒 源代码
说明 本实例可以监控聚划算的抢购button,在聚划算整点聚的时间到达时自己主动弹开页面(URL自定义). 能够自己定义监控持续分钟数,同一时候还能够通过多线程加快刷新速度. 源代码 package ...
- python课件-淘宝-目录.txt
卷 TOSHIBA EXT 的文件夹 PATH 列表卷序列号为 AE86-8E8DF:.│ python课件-淘宝-目录.txt│ ├─01python核心编程阶段-linux基础(│ linux_h ...
- python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码
python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码 淘宝IP地址库 http://ip.taobao.com/目前提供的服务包括:1. 根据用户提供的 ...
- C++、VC++、MFC网页自动注册、登陆、发帖、留言,QQ注册、QQ申请器源码、注册邮箱源码、自动发帖源码
C++.VC++.MFC网页自动注册.登陆.发帖.留言,QQ注册.QQ申请器源码.注册邮箱源码.自动发帖源码 参考资料: 自动登录yahoo邮箱http://blog.csdn.net/suisu ...
- Android Studio2.x版本无法自动关联源码的解决方法
Android Studio2.x版本无法自动关联源码的解决方法 在学习android开发过程中,对于一个不熟悉的类,阅读源码是一个很好的学习方式,使用andorid studio开发工具的SDK M ...
- SpringBoot自动配置源码调试
之前对SpringBoot的自动配置原理进行了较为详细的介绍(https://www.cnblogs.com/stm32stm32/p/10560933.html),接下来就对自动配置进行源码调试,探 ...
- 使用 maven 自动将源码打包并发布
1.maven-source-plugin 访问地址 在 pom.xml 中添加 下面的 内容,可以 使用 maven 生成 jar 的同时 生成 sources 包 <plugin> & ...
- Maven 自动下载源码和文档
Maven下在pom中下载之后,如何才能使其自动下载源码和文档? 如果已经下载,可以先从Maven库中删除已经下载的代码,然后再update Maven项目即可
随机推荐
- 基于 HTML5 Canvas 的元素周期表展示
前言 之前在网上看到别人写的有关元素周期表的文章,深深的勾起了一波回忆,记忆里初中时期背的“氢氦锂铍硼,碳氮氧氟氖,钠镁铝硅磷,硫氯氩钾钙”.“养(氧)龟(硅)铝铁盖(钙),哪(钠)家(钾)没(镁)青 ...
- Java NIO 学习笔记(二)----聚集和分散,通道到通道
目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...
- 分享SQL,查询用户最近一次购买时间间隔
(1)先创建一张测试表: CREATE TABLE `用户购买订单` ( `购买时间` datetime(6) NULL DEFAULT NULL, `用户` varchar(20) CHARACTE ...
- JAVA获取项目工程下的文件
JAVA获取 工程下的文件 其实很简单主要是理解编译路径 ①class.getResource public static void main(String[] args) { WordTest ...
- SCUT 130:对抗女巫的魔法碎片(贪心)
https://scut.online/p/130 130. 对抗女巫的魔法碎片 题目描述 光明世界的一个国家发生动荡,女巫利用了邪恶的力量将国家的村庄都施下了咒语,好在国家还有英勇的士兵,他们正义的 ...
- linux上mysql MM(双主)架构及keepalived搭建
master1 10.1.1.14 VIP 10.1.1.16master2 10.1.1.15 VIP 10.1.1.16 一.mysql MM配置1.修改master1的my.cnf# vi /e ...
- TPL DataFlow .Net 数据流组件,了解一下
回顾上文 作为单体程序,依赖的第三方服务虽不多,但是2C的程序还是有不少内容可讲: 作为一个常规互联网系统,无外乎就是接受请求.处理请求,输出响应. 由于业务渐渐增长,数据处理的过程会越来越复杂和冗长 ...
- 关于Keepalive的那些事
服务端很多同学包括自己对keepalive理解不清晰,经常搞不清楚,TCP也有keepalive,HTTP也有keepalive,高可用也叫keepalive,经常混淆这几个概念.做下这几个概念的简述 ...
- python接口自动化(二十八)--html测试 报告——下(详解)
简介 五一小长假已经结束了,想必大家都吃饱喝足玩好了,那就继续学习吧.一天不学习,自己知道:两天不学习,对手知道:三天不学习,大家知道:一周不学习,智商输给猪.好了开个玩笑都逗大家一乐,但是想想还是有 ...
- nu.xom:Attribute
Attribute: 机翻 Attribute copy():生成一份当前Attribute的拷贝,但是它没有依附任何Element Node getChild(int position) :因为At ...