全球主机交流论坛

标题: virmach 筛选脚本 python版 [打印本页]

作者: beng    时间: 2019-11-29 16:55
标题: virmach 筛选脚本 python版
本帖最后由 beng 于 2019-11-29 17:06 编辑

功能:
1.按个人要求筛选匹配条件[修改settings即可]
2.声音提醒功能
3.自动生成购物车链接
4.无第三方库,是python就能跑


等等再写个Selenium+chrome的脚本 全自动

  1. import requests
  2. import json
  3. import re
  4. import time
  5. import sys
  6. import winsound
  7. settings = {
  8.     'price': 15,
  9.     'virt': 'KVM',
  10.     'ram': 2048,
  11.     'cpu': 2,
  12.     'hdd': 30,
  13.     'bw': 1500,
  14.     'ips': 1,
  15. }
  16. url = 'https://billing.virmach.com/modules/addons/blackfriday/new_plan.json'


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


  44. while 1:
  45.     run()
  46.     time.sleep(5)
复制代码

作者: hotkk    时间: 2019-11-29 16:56
大佬牛逼,支持了
作者: 文将    时间: 2019-11-29 16:56
大佬,能否加上机房位置的筛选呢
作者: 陆伯言    时间: 2019-11-29 16:57
是必须要完全一致才会提醒还是低于就可以
作者: beng    时间: 2019-11-29 16:58
陆伯言 发表于 2019-11-29 16:57
是必须要完全一致才会提醒还是低于就可以

配置高于或等于就行
作者: tonyma    时间: 2019-11-29 16:59
陆伯言 发表于 2019-11-29 16:57
是必须要完全一致才会提醒还是低于就可以

看代码,就是大于的时候,很简单,随便自定义呀
作者: pangyuxing    时间: 2019-11-29 17:00
大佬,第35行漏了一个 '
作者: taian    时间: 2019-11-29 17:00
支持!谢谢分享。
作者: fenghuang    时间: 2019-11-29 17:01
这个不错 可以比较
作者: qq272810532    时间: 2019-11-29 17:01
大佬,运行提示没有requests这个模块
作者: beng    时间: 2019-11-29 17:02
qq272810532 发表于 2019-11-29 17:01
大佬,运行提示没有requests这个模块

额。。。忘了 这个库得自己安装
作者: 木易酱    时间: 2019-11-29 17:02
35行语法报错
作者: fyang    时间: 2019-11-29 17:02
感谢大佬,大佬技术好
作者: 卟想起床    时间: 2019-11-29 17:02
qq272810532 发表于 2019-11-29 17:01
大佬,运行提示没有requests这个模块

自己 pip装一个呗

作者: beng    时间: 2019-11-29 17:05
木易酱 发表于 2019-11-29 17:02
35行语法报错

论坛问题 我改不了。。。 print('$', price) 自动转了
作者: chenmo    时间: 2019-11-29 17:06
这比没抢到机子还带感
作者: hesir    时间: 2019-11-29 17:08
第一行requests就是第三方包。。。换成urllib?
作者: qq272810532    时间: 2019-11-29 17:13
卟想起床 发表于 2019-11-29 17:02
自己 pip装一个呗

已经装了, 跟楼主反馈一下
作者: yem    时间: 2019-11-29 17:13
脚本大佬
作者: fyang    时间: 2019-11-29 17:15
运行中,用上科技啦
作者: cooioobb    时间: 2019-11-29 17:18
刚想自己写Selenium+chrome
作者: beng    时间: 2019-11-29 17:19
cooioobb 发表于 2019-11-29 17:18
刚想自己写Selenium+chrome

写好了 马上发
作者: doing    时间: 2019-11-29 17:34
监控已经很多了,不需要监控了。现在需要的是add to chat这个页面打开太慢,直接有链接就好了
作者: dj801    时间: 2019-12-4 22:47
今晚设置下。看看最后彩蛋
作者: zxxx    时间: 2019-12-4 22:50
请问楼主 Selenium+chrome 写好了吗?
作者: zhujibuluo    时间: 2019-12-4 23:18
response = json.loads(requests.get(url).text)
可以简单点
response =requests.get(url).json()




欢迎光临 全球主机交流论坛 (https://loc.wget.at/) Powered by Discuz! X3.4