您现在的位置是:群英 > 网络安全 > 安全技术
使用selenium或者按键精灵部署商城抢购功能
Admin发表于 2023-05-31 17:26:30639 次浏览
今天这篇给大家分享的知识是“使用selenium或者按键精灵部署商城抢购功能”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,因此分享发大家做个参考,下文的讲解详细,步骤过程清晰,希望这篇“使用selenium或者按键精灵部署商城抢购功能”文章能帮助大家解决问题。

 

马上就要双十一了,想在淘宝上帮女朋友抢一些礼物,网上下载了几个抢拍器,普遍都有问题,最终还是决定自己制作一个抢拍器。由于秒杀也受到网络和系统环境的影响,这里打算使用高速稳定点的云主机来协助实现。

在云主机的选择上,必须是能直接连接主干网络的云主机,否则网络延迟和在家里上网区别不大。(开始以为群英鹰云秒杀会更快,但实际测试结果并不是这样。挑了几次后还是使用了常用的群英鹰云。大家可以根据自己的喜好来挑选。)本文在后面会附带具体操作方法。

一, 秒杀的设计要求:

  1. 高稳定性,高网速
  2. 高频度模拟用户操作
  3. 通过阿里京东的认证机制

 

二, 实现难点:

  1. 淘宝的认证登录如何解决。
  2. 部分操作有可能被封号
  3. 抢拍操作过快可能出现滑块,导致抢拍失败。

 

三, 理论上的几种方法:

第一种:使用selenium或者类似网页按键的工具模拟浏览器提交订单,优点是制作方便,安全不怕封号,速度也能达到毫秒级。缺点就是当网速卡或者抢的人太多的时候,可能由于网页元素加载过慢,导致抢拍失败。

第二种:模拟socket,直接提交订单包文。优点是速度最快,不需要等待订单确认界面,到时间直接提交订单。缺点是制作比较复杂,尤其淘宝会每日更新加密算法,需要经常更新。据传有封号的可能性,但是我还没有被封号过。

 

下面针对两种方法分别进行分析:

第一种:模拟浏览器操作

工具有很多,selenium和按键精灵都可以实现,推荐用selenium, 命令台操作,执行速度更快。

操作流程如下图:

网上供参考的代码示例:(Python),内容其实都大同小异,关键思路清楚就很好做了。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#2018/10/313
#淘宝秒杀,扫码登录版
import os
from selenium import webdriver
import datetime
import time
from os import path
 
d = path.dirname(__file__)
abspath = path.abspath(d)
chromedriver = abspath+"\chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
driver.maximize_window()
 
def login():
    # 打开淘宝登录页,并进行扫码登录
    driver.get("https://www.taobao.com")
    time.sleep(3)
    if driver.find_element_by_link_text("亲,请登录"):
        driver.find_element_by_link_text("亲,请登录").click()
        print("请在30秒内完成扫码")
        time.sleep(30)
        driver.get("https://cart.taobao.com/cart.htm")
    time.sleep(5)
    # 这里需要自己在购物车里面选择要结算的商品
    now = datetime.datetime.now()
    print('login success:', now.strftime('%Y-%m-%d %H:%M:%S'))
 
def buy(buytime):
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
        # 判断时间,时间到就点击结算
        if now > buytime:
            try:
                # 点击结算按钮
                if driver.find_element_by_id("J_Go"):
                    driver.find_element_by_id("J_Go").click()
                driver.find_element_by_link_text('提交订单').click()
            except:
                time.sleep(0.1)
        print(now)
        time.sleep(0.1)
 
if __name__ == "__main__":
    times = input("请输入抢购时间:")
    login()
    buy(times)

如果需要打包好的软件,也可以使用百度云盘下载:

https://pan.baidu.com/s/1EU5YM3VgXBDgv7v3F5icEg

提取码:b79e

 

下面讲具体怎么操作:(感谢网上几位大大的指导)

  1. 首先,你得有一台到多台云主机(可以在群英鹰云买2台云主机,使用两个号来抢),这里仅以我常用群英鹰云来举例,具体使用什么云服务器请自行选择。不过群英鹰云在稳定性和基干网络方面测试下来还算不错。参考网址:www.qy.cn

         2.具体购买流程我就不多说了,系统选择win2012就行。通过远程桌面登录到服务器。

将百度云盘下载的文件解压。首先安装chrome67版(注意不是chromedriver.exe),

接着将taobao.exe和chromedriver.exe放入同一个文件夹下面,双击点开taobao.exe

 

         3.输入抢拍的时间,注意时间格式(不要有中文符号)  年-月-日 时:分:秒 000000

4.回车后会弹出淘宝界面,通过手机扫描二维码登录。(这样可以有效避免软件被人加壳,被盗号的可能性)

6.登录后会自动跳转到购物车,并全选购物车。如果你不需要购物车全部被选中的话,可以勾掉全选,选择需要抢的商品。

6.时间到后,系统会自动点击结算和提交订单。

 

通过模拟浏览器操作的方法暂时讲到这里,理论上是在毫秒级抢拍,1秒内能够锁死订单。最重要的就是两点:网速和系统处理速度(这里的网速不是指带宽,而是从计算机到淘宝核心服务器间的节点要尽可能的少,这也是为什么说要用云服务器的原因)。下周再更新更快的方案,建议大家准备小号,避免被封。

 


以上就是关于使用selenium或者按键精灵部署商城抢购功能的介绍啦,需要的朋友可以参考上述内容,希望对大家有帮助,想要了解更多,欢迎关注群英网络,小编将为大家输出更多高质量的实用文章!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

相关信息推荐
2023-06-05 17:50:30 
摘要:百度 CDN公共库
2023-05-26 11:47:05 
摘要:引用CDN内容的方法总结
2023-05-26 11:45:20 
摘要:一文带你弄懂 CDN 技术的原理
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部