1. 抢购的配置等于或高于你的配置要求
2.声音提示
3.自动加入购物车,只需听到提示音付款,全自动
4.需要安装好requests和 selenium
需要修改的地方:
1.settings按照自己要求修改
2.chromedriver下载对应版本
driver = webdriver.Chrome(executable_path=’E:\Work Area\chromedriver.exe’, options=options)中executable_path换成你自己的
import requests import json import re import time import sys import winsound from selenium import webdriver settings = { 'price': 15, 'virt': 'KVM', 'ram': 2000, 'cpu': 2, 'hdd': 20, 'bw': 1000, 'ips': 1, } url = 'https://billing.virmach.com/modules/addons/blackfriday/new_plan.json' options = webdriver.ChromeOptions() options.add_argument('--incognito') options.add_argument('--disable-gpu') driver = webdriver.Chrome(executable_path='E:\Work Area\chromedriver.exe', options=options) driver.get('https://www.baidu.com') def run(): response = json.loads(requests.get(url).text) price = response['price'] if 'yr' in price: price = float(re.findall('\$(.+?) <span>/yr</span>', price)[0]) virt = response['virt'] ram = int(response['ram']) cpu = int(response['cpu']) hdd = int(response['hdd']) bw = int(response['bw']) ips = int(response['ips']) pid = response['pid'] location = response['location'] # BUFFALO if price <= settings['price'] and virt == settings['virt'] and ram >= settings['ram'] and cpu >= settings[ 'cpu'] and hdd >= settings['hdd'] and bw >= settings['bw'] and ips >= settings['ips']: driver.get('https://billing.virmach.com/cart.php?a=add&pid=' + str(pid)) winsound.Beep(500, 1000) print(price) print(cpu, 'H', ram, 'M', bw, 'G') print('hdd:', hdd, 'G') if ips > 1: print(ips) print(location) print('https://billing.virmach.com/cart.php?a=add&pid=' + str(pid)) return True else: item = '无符合机器 ' + time.strftime("%H:%M:%S %Y-%m-%d", time.localtime()) sys.stdout.write('\r' + str(item) + '\033[K') sys.stdout.flush() return False while 1: if run(): break time.sleep(5)
因为selenium启动比较慢 所以脚本开始的时候会事先打开一个网页
抢购到脚本会暂停,等待付款,需要重新运行开始下一轮
有个重要的因素没考虑啊,就是机房啊
目前被抢的都是圣何塞,当然,目前也只有这两个配置比较便宜
我把刚才谁发的 lidan00 发的代码稍改了下,加入了判断机房,需要的可以把机房地址改下。
提示:加了我的AFF
浏览器打开任意网站,F12打开控制台,粘贴运行
like 是金额,locastr 是机房,按需要修改下
San Jose, CA —- 圣何塞
BUFFALO, NY
LOS ANGELES, CA
DALLAS, TX
PISCATAWAY, NJ
const aff = 8973 const like = 10 const locastr = "San Jose, CA" const new_plan = 'https://billing.virmach.com/modules/addons/blackfriday/new_plan.json' const add = `https://virmach.com/manage/aff.php?aff=${aff}&pid=175` Notification.requestPermission() let pre = '' const main = async () => { let a = await fetch(new_plan) a = await a.json() cur = JSON.stringify(a) console.log(cur) if (pre === cur) { return } pre = cur b = parseFloat(a.price.match(/([\d\.]+)/)[1]) c = a.location console.log(b) console.log(c) if (b < like && c == locastr ) { new Notification(b) window.open(add) } } main() setInterval(main, 5000)
http://npm.taobao.org/mirrors/chromedriver
下载对应版本 改下地址 运行就行了 听到声音付款
可以先拿当前官网配置试试