全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 3399|回复: 25

VIRMACH 只需付款的全自动脚本 selenium+chrome

  [复制链接]
发表于 2019-11-29 17:28:22 | 显示全部楼层 |阅读模式
1. 抢购的配置等于或高于你的配置要求
2.声音提示
3.自动加入购物车,只需听到提示音付款,全自动
4.需要安装好requests和 selenium


需要修改的地方:
1.settings按照自己要求修改
2.chromedriver下载对应版本
driver = webdriver.Chrome(executable_path='E:\Work Area\chromedriver.exe', options=options)中executable_path换成你自己的


  1. import requests
  2. import json
  3. import re
  4. import time
  5. import sys
  6. import winsound

  7. from selenium import webdriver

  8. settings = {
  9.     'price': 15,
  10.     'virt': 'KVM',
  11.     'ram': 2000,
  12.     'cpu': 2,
  13.     'hdd': 20,
  14.     'bw': 1000,
  15.     'ips': 1,
  16. }

  17. url = 'https://billing.virmach.com/modules/addons/blackfriday/new_plan.json'

  18. options = webdriver.ChromeOptions()
  19. options.add_argument('--incognito')
  20. options.add_argument('--disable-gpu')

  21. driver = webdriver.Chrome(executable_path='E:\Work Area\chromedriver.exe', options=options)
  22. driver.get('https://www.baidu.com')


  23. def run():
  24.     response = json.loads(requests.get(url).text)
  25.     price = response['price']
  26.     if 'yr' in price:
  27.         price = float(re.findall('\$(.+?) <span>/yr</span>', price)[0])
  28.     virt = response['virt']
  29.     ram = int(response['ram'])
  30.     cpu = int(response['cpu'])
  31.     hdd = int(response['hdd'])
  32.     bw = int(response['bw'])
  33.     ips = int(response['ips'])
  34.     pid = response['pid']
  35.     location = response['location']  # BUFFALO
  36.     if price <= settings['price'] and virt == settings['virt'] and ram >= settings['ram'] and cpu >= settings[
  37.         'cpu'] and hdd >= settings['hdd'] and bw >= settings['bw'] and ips >= settings['ips']:
  38.         driver.get('https://billing.virmach.com/cart.php?a=add&pid=' + str(pid))
  39.         winsound.Beep(500, 1000)
  40.         print(price)
  41.         print(cpu, 'H', ram, 'M', bw, 'G')
  42.         print('hdd:', hdd, 'G')
  43.         if ips > 1:
  44.             print(ips)
  45.         print(location)
  46.         print('https://billing.virmach.com/cart.php?a=add&pid=' + str(pid))
  47.         return True
  48.     else:
  49.         item = '无符合机器 ' + time.strftime("%H:%M:%S %Y-%m-%d", time.localtime())
  50.         sys.stdout.write('\r' + str(item) + '\033[K')
  51.         sys.stdout.flush()
  52.         return False


  53. while 1:
  54.     if run():
  55.         break
  56.     time.sleep(5)
复制代码



因为selenium启动比较慢 所以脚本开始的时候会事先打开一个网页
抢购到脚本会暂停,等待付款,需要重新运行开始下一轮

萌新,脚本有其他问题,欢迎反馈 代码丑勿喷
发表于 2019-11-29 17:30:26 | 显示全部楼层
本帖最后由 jpfree 于 2019-11-29 17:32 编辑

不会啊,大佬。求详细


还是这个简单,无需环境。手机上也可以操作。
1,看这个:有PLANID就是还有货,没货有END。

https://billing.virmach.com/modules/addons/blackfriday/new_plan.json

2,点这个购买,无论哪个都可以添加,有货的时候点:
https://virmach.com/manage/aff.php?aff=8640&pid=175
发表于 2019-11-29 17:32:00 | 显示全部楼层
本帖最后由 ApkB 于 2019-11-29 17:44 编辑

有个重要的因素没考虑啊,就是机房啊
目前被抢的都是圣何塞,当然,目前也只有这两个配置比较便宜

我把刚才谁发的 lidan00 发的代码稍改了下,加入了判断机房,需要的可以把机房地址改下。
提示:加了我的AFF

浏览器打开任意网站,F12打开控制台,粘贴运行
like 是金额,locastr 是机房,按需要修改下

San Jose, CA   ----  圣何塞
BUFFALO, NY   
LOS ANGELES, CA
DALLAS, TX
PISCATAWAY, NJ


  1. const aff = 8973
  2. const like = 10
  3. const locastr = "San Jose, CA"
  4. const new_plan =
  5.   'https://billing.virmach.com/modules/addons/blackfriday/new_plan.json'
  6. const add = `https://virmach.com/manage/aff.php?aff=${aff}&pid=175`
  7. Notification.requestPermission()
  8. let pre = ''
  9. const main = async () => {
  10.   let a = await fetch(new_plan)
  11.   a = await a.json()
  12.   cur = JSON.stringify(a)
  13.   console.log(cur)
  14.   if (pre === cur) {
  15.     return
  16.   }
  17.   pre = cur
  18.   b = parseFloat(a.price.match(/([\d\.]+)/)[1])
  19.   c = a.location
  20.   console.log(b)
  21.   console.log(c)
  22.   if (b < like && c == locastr ) {
  23.     new Notification(b)
  24.     window.open(add)
  25.   }
  26. }
  27. main()
  28. setInterval(main, 5000)
复制代码
发表于 2019-11-29 17:42:58 | 显示全部楼层
我就放这了跟你们说,去年一波脚本大佬被8c8g 100gb流量大水牛坑了一波,今年你们继续折腾,我就不信virmach程序员到时候不给你们个幺蛾子
 楼主| 发表于 2019-11-29 17:32:05 | 显示全部楼层
jpfree 发表于 2019-11-29 17:30
不会啊,大佬。求详细

http://npm.taobao.org/mirrors/chromedriver
下载对应版本 改下地址 运行就行了 听到声音付款
可以先拿当前官网配置试试
发表于 2019-11-29 17:32:23 | 显示全部楼层
好像和用浏览器打开下单地址一样效果 直接 webbrowser.open(url)
发表于 2019-11-29 17:32:50 | 显示全部楼层
加个 try吧,  不然很可能跑着就挂了,还不知道
 楼主| 发表于 2019-11-29 17:33:13 | 显示全部楼层
fenghuang 发表于 2019-11-29 17:32
好像和用浏览器打开下单地址一样效果 直接 webbrowser.open(url)

怕affman  开的无痕 哈哈
 楼主| 发表于 2019-11-29 17:34:18 | 显示全部楼层
ApkB 发表于 2019-11-29 17:32
有个重要的因素没考虑啊,就是机房啊
目前被抢的都是圣何塞,当然,目前也只有这两个配置比较便宜 ...

我在记录每个地区的字段 没字段不好判断 大佬有所有地区的字段吗 我加上去
 楼主| 发表于 2019-11-29 17:35:30 | 显示全部楼层
zeroz 发表于 2019-11-29 17:32
加个 try吧,  不然很可能跑着就挂了,还不知道

不能加try吧 不然你的ip被屏蔽都不知道
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-12 21:09 , Processed in 0.065650 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表