1. 程式人生 > >Python 實現 淘寶秒殺 聚划算 自動提醒 原始碼

Python 實現 淘寶秒殺 聚划算 自動提醒 原始碼

# 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)

相關推薦

Python 實現 划算 自動提醒 原始碼

# encoding: utf-8 ''' @author: Techzero @email: [email protected] @time: 2014-5-18 下午5:06:29 ''' import cStringIO import getopt import time import url

Python 實現

新手學習Python,之前在網上看見一位朋友寫的40行Python程式碼搞定京東秒殺,想在淘寶上幫女朋友搶玩偶,所以就照貓畫虎的寫了下淘寶的秒殺指令碼,經自己實驗可行。直接上程式碼: #-*- coding: UTF-8 -*- import os fr

python 製作指令碼

1.  安裝pycharm。網上教程很多。 2.  安裝 Selenium 庫。 Selenium支援很多瀏覽器,我選擇的是Firefox瀏覽器。 因為我這裡是Python3環境,自帶的又pip,所以安裝selenium直接使用pip安裝 安裝方法: --開啟

Python

昨天茅臺在線上搞秒殺,本來想著靠我驚人的手速去秒一瓶,結果。。。。 所以痛定思痛,想想還是用指令碼更靠譜。就在網上搜啊搜,看到selenium這個,頓時眼睛一亮! 整體流程是:上淘寶->找到登入按鈕去登陸->在登入頁選擇密碼登入->填入賬號密碼登入-&g

筆記

菜鳥 list 網上 代碼 線程 還要 筆記 易語言 提前 我菜鳥別噴,我學通訊專業的,現在汽車廠做體力活。以下文章有空寫。 1,倒計時直接下單地址。 2,js自動刷新下單代碼(2秒下單,比手動快)。 3,易語言倒計時淘寶秒殺器編程- 多線程(包括聚劃算,非答題)(

,一招搞定|女神再也不用擔心搶不到商品了

號外號外!!   親愛的老鐵們,是不是雙十一還拿著手機整點強商品,還搶不到!還搶不到!還搶不到!原諒小編這個傷心的事情講了三遍。 下面讓小編來教你一個黑科技! 用python寫一個簡單的指令碼,搶東西再也不用手動了,交給電腦吧。相信第二天早上一起床滿滿的購物車,讓你心

系統內幕

導讀:最初的秒殺系統的原型是淘寶詳情上的定時上架功能,由於有些賣家為了吸引眼球,把價格壓得很低。但這給的詳情繫統帶來了很大壓力,為了將這種突發流量隔離,才設計了秒殺系統,文章主要介紹大秒系統以及這種典型讀資料的熱點問題的解決思路和實踐經驗。 一些資料 大家還記

PYTHON 爬蟲筆記十:利用selenium+PyQuery實現美食數據搜集並保存至MongeDB(實戰項目三)

pre pager 淘寶 NPU group color 存在 pan rgs 利用selenium+PyQuery實現淘寶美食數據搜集並保存至MongeDB 目標站點分析 流程框架 爬蟲實戰 spider詳情頁 import pymongo im

使用redis實現簡單的

lec connect use decode else 隊列 def 固定 urn 自己做的簡單秒殺 感覺思路是沒太大問題的 但是代碼寫的不是很好 做個記錄方便以後回來嘲諷下自己 <?phpnamespace frontend\controllers;use Y

php+redis實現電商功能

str 數組 ash 參數設置 *** this 百萬 對數 現在 這一次總結和分享用Redis實現分布式鎖來完成電商的秒殺功能。先扯點個人觀點,之前我看了一篇博文說博客園的文章大部分都是分享代碼,博文裏強調說分享思路比分享代碼更重要(貌似大概是這個意思,若有誤請諒解),

用php+mysql+ajax實現客服或阿裏旺旺聊天功能 之 前臺頁面

group -a com 現在 中間 數據 bottom margin -m 首先來看一下我已經實現的效果圖: 消費者頁面:(本篇隨筆) (1)會顯示店主的頭像 (2)當前用戶發送信息顯示在右側,接受的信息,顯示在左側 店主或客服頁面:(下一篇隨筆) (1)在左側有一個列

用php+mysql+ajax實現客服或阿裏旺旺聊天功能 之 後臺頁面

聯系人 http esc hold 聊天內容 12px onclick onf pda 在上一篇隨筆中,我們已經看了如何實現前臺的對話功能;前臺我限定了店主只有一人,店鋪只有一個,所有比較單一,但後臺就不一樣了,而後臺更像是我們常見的聊天軟件;當然,前臺也應該實現這種效果,

Python實現支付在線支付

mic code 找到 IT gpo .html 折騰 功能 title 最近在做支付寶功能,折騰了半天,終於找到解決辦法!現將鏈接貼在這裏http://www.mamicode.com/info-detail-2212321.htmlPython實現支付寶在線支付

python 利用IP庫 查詢IP歸屬地

load com country cit djang lib highlight 淘寶 AR #coding:utf-8 from django.test import TestCase import json import urllib ip = "114.114.

vue實現商品詳情頁屬性選擇功能

line pan func sel eth AD 圖片 [1] urn 方法一是自己想出來的,方法二來自忘記哪裏看到的了 不知道是不是你要的效果: 方法一:利用input[type="radio"] css代碼: 1 input { 2

通過雲伺服器實現京東搶拍器

馬上就要雙十一了,想在淘寶上幫女朋友搶一些禮物,網上下載了幾個搶拍器,普遍都有問題,最終還是決定自己製作一個搶拍器。由於秒殺也受到網路和系統環境的影響,這裡打算使用高速穩定點的雲主機來協助實現。 在雲主機的選擇上,必須是能直接連線主幹網路的雲主機,否則網路延遲和在家裡上網區別不大。(開始以為阿里雲秒殺會更快

通過雲服務器實現京東搶拍器

__file__ odin 家裏 png bdr 模擬瀏覽器 pro 按鈕 baidu 馬上就要雙十一了,想在淘寶上幫女朋友搶一些禮物,網上下載了幾個搶拍器,普遍都有問題,最終還是決定自己制作一個搶拍器。由於秒殺也受到網絡和系統環境的影響,這裏打算使用高速穩定點的雲主機來協

RecyclerView載入多型別item 實現首頁佈局

主要為大家介紹如何用RecycleView來實現淘寶首頁複雜的佈局,做電商類app的小夥伴們可以略作參考。 首先上效果圖: 下面說一下實現方式,主要思路就是根據不同的資料型別去制定不同的item型別,然後動態地去設定這些item的寬高,設定item的型別相信大家都會,我這

flask+redis實現搶購()功能

今天面試了 一家非常高大上的公司,問了我關於redis的實用性問題,但是答的不是很好,所以下午通過再次學習 redis,實現相關實用性功能的一種。 對於搶購功能,難點在於 搶購時 由於高併發請求,導致一個使用者搶購多件商品,庫存量小於訂單量的情況。 如下通過redis的hash和list型別實現相關功能。

利用selenium實現雙十一搶購商品

到雙十一了總是有一些定時搶購的貨物,有了這個指令碼再也不用煉手速了。 在這個基礎上使用Python3.7.1實現,並且解決bug:ERROR:platform_sensor_reader_win.cc 1.安裝Python 2.下載Webdriver 3.執行程式