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项目即可
随机推荐
- Hexo+NexT(四):Hexo站点及Next主题配置详解
采用Hexo及NexT搭建好网站以后,有些效果不是我们需要的,Hexo及NexT提供了强大的定制功能,本文章将要讲解的就是如何在对网站进行配置及调整,达到博主需要的效果. 本文章配置环境是Hexo 3 ...
- Django高级编程之自定义Field实现多语言
自定义数据库字段 扩展默认的models.CharField和models.TextField使之成为支持多语言的字段. 可以轻松实现复用,无需配置多余选项 from django.conf impo ...
- 前端Vue基础学习
Vue基础 对与vue的简洁明了的干货分享,适合小白学习观看,如果有笔误或者想了解更多的,请给笔者留言,后续会继续分享,从零开始的vue相关经验 1.创建vue实例 <div id=" ...
- java springboot调用第三方接口 借助hutoool工具类 爬坑
楼主是个后端小白一枚,之前没接触过后端,只学了java基本语法,还是在学校老师教的,学的很浅,什么ssh.ssm框架都没有学,最近在自学spring boot,看书学也看不是很懂,就在b站上看教学视频 ...
- Qt之股票组件-自选股--列表可以拖拽、右键常用菜单
目录 一.开头嘴一嘴 二.效果展示 三.自选股列表 1.列表初始化 2.添加Item 3.右键菜单 4.拖拽Item 5.刷新数据 四.相关文章 原文链接:Qt之股票组件-自选股--列表可以拖拽.右键 ...
- vim与系统剪切板之间的复制粘贴
背景 vim各种快捷建溜得飞起,然而与系统剪切板之间的复制粘贴一直都是我的痛. 每次需要从vim中拷贝些文字去浏览器搜索,都需要用鼠标选中vim的文字后,Ctrl+c.Ctrl+v,硬生生掐断了纯键盘 ...
- Design Principles (设计原则)
这是我在2018年4月写的英语演讲稿,可惜没人听得懂(实际上就没几个人在听). 文章的内容是我从此前做过的项目中总结出来的经验,从我们的寝室铃声入手,介绍了可扩展性.兼容性与可复用性等概念,最后提出良 ...
- NetCore 获取appsetting.json 文件中的配置
1. using Microsoft.Extensions.Configuration public class HomeController : Controller { public IConfi ...
- linux应用程序设计--GCC程序编译
GCC程序编译 linux系统下的GCC(GNU C Compiler)是GNU推出的功能强大.性能优越的多平台编译器,是GNU的代表作之一.GCC可以在多种硬件平台上编译出可执行程序,其执行效率与一 ...
- 「PowerBI」Tabular Editor 一个对中文世界很严重的bug即将修复完成
之前介绍过Tabular Editor这款开源工具,对PowerBI建模来说,非常好用,可以极大的增强自动化水平. 详细可查看此文章: 「PowerBI相关」一款极其优秀的DAX建模工具Tabular ...