Python 实现 淘宝秒杀 聚划算 自己主动提醒 源代码

说明

本实施例可以监视一起购买的成本button,当警报济济一堂花费时间整点到达(音频文件自定义位置)而自己主动跳出页面(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="#" 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)

版权声明:本文博客原创文章。博客,未经同意,不得转载。

时间: 2025-01-02 09:08:15

Python 实现 淘宝秒杀 聚划算 自己主动提醒 源代码的相关文章

Java 实现 淘宝秒杀 聚划算 自己主动提醒 源代码

说明 本实例可以监控聚划算的抢购button,在聚划算整点聚的时间到达时自己主动弹开页面(URL自定义). 能够自己定义监控持续分钟数,同一时候还能够通过多线程加快刷新速度. 源代码 package com.itechzero.pricemonitor; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamR

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

说明 本实例能够监控聚划算的抢购按钮,在聚划算整点聚的时间到达时发出提醒(音频文件自己定义位置)并自动弹开页面(URL自己定义). 同时还可以通过命令行参数自定义刷新间隔时间(默认0.1s)和监控持续时间(默认1800s). 源码 # encoding: utf-8 ''' @author: Techzero @email: [email protected] @time: 2014-5-18 下午5:06:29 ''' import cStringIO import getopt import

Java 实现 淘宝秒杀 聚划算 自动提醒 源码

说明 本实例能够监控聚划算的抢购按钮,在聚划算整点聚的时间到达时自动弹开页面(URL自己定义). 可以自定义监控持续分钟数,同时还可以通过多线程加快刷新速度. 源码 package com.itechzero.pricemonitor; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; im

python课件-淘宝-目录.txt

卷 TOSHIBA EXT 的文件夹 PATH 列表卷序列号为 AE86-8E8DF:.│ python课件-淘宝-目录.txt│ ├─01python核心编程阶段-linux基础(│ linux_html.rar│ vi_markdown.zip│ ├─02python核心编程阶段-python基础│ ├─代码│ │ 01_Python基础.zip│ │ 02_分支.zip│ │ 03_循环_01_基础.zip│ │ 03_循环_02_完整.zip│ │ 04_函数.zip│ │ 05_高级数

淘宝数据库OceanBase SQL编译器部分 源代码阅读--Schema模式

淘宝数据库OceanBase SQL编译器部分 源代码阅读--Schema模式 什么是Database,什么是Schema,什么是Table,什么是列,什么是行,什么是User?我们能够能够把Database看作是一个大仓库,仓库分了非常多非常多的房间,Schema就是当中的房间,一个Schema代表一个房间,Table能够看作是每一个Schema中的柜子,行和列就是柜子中的格子.User就是房间的主人.简单来说,Schema是包含表,列,索引,视图等数据库对象的集合. OceanBase中的强

淘宝数据库OceanBase SQL编译器部分 源代码阅读--生成物理查询计划

SQL编译解析三部曲分为:构建语法树,制定逻辑计划,生成物理运行计划. 前两个步骤请參见我的博客<<淘宝数据库OceanBase SQL编译器部分 源代码阅读--解析SQL语法树>>和<<淘宝数据库OceanBase SQL编译器部分 源代码阅读--生成逻辑计划>>.这篇博客主要研究第三步,生成物理查询计划. 一. 什么是物理查询计划 与之前的阅读方法一致,这篇博客的两个主要问题是what 和how.那么什么是物理查询计划?物理查询计划可以直接运行并返回数据

淘宝数据库OceanBase SQL编译器部分 源代码阅读--生成逻辑计划

淘宝数据库OceanBase SQL编译器部分 源代码阅读--生成逻辑计划 SQL编译解析三部曲分为:构建语法树.生成逻辑计划.指定物理运行计划. 第一步骤,在我的上一篇博客淘宝数据库OceanBase SQL编译器部分 源代码阅读--解析SQL语法树里做了介绍,这篇博客主要研究第二步.生成逻辑计划. 一. 什么是逻辑计划? 我们已经知道,语法树就是一个树状的结构组织,每一个节点代表一种类型的语法含义.如 update student set sex="M" where name =&

python推荐淘宝物美价廉商品 2.0

改动: 新增功能 :可选择只看天猫或淘宝 代码模块化封装,参数配置或输入单独在一个py文件管理,主函数功能只留出参数传入在setting配置的py文件里. main.py代码: 1 # -*- coding: utf-8 -*- 2 import urllib 3 import urllib2 4 import re 5 import time 6 import random 7 import os 8 from math import log 9 from math import log10

python推荐淘宝物美价廉商品

完成的目标: 输入搜索的商品 以及 淘宝的已评价数目.店铺的商品描述(包括如实描述.服务态度.快递的5.0打分): 按要求,晒选出要求数量的结果,并按"物美价廉算法"排序后输出 思路: 1,利用淘宝搜索'https://s.taobao.com/search?'的价格filter 先进行价格筛选,得到结果的网站 2,用urllib打开结果网站,构造正则表达式匹配出各个商品结果的 价格.已评价数量.店铺的如实描述等信息: 并把结果保存至二维数组里. 3,利用商品及店铺信息,用"