js淘宝抢购脚本(提前三天教你们python制作万能抢购神器,学不会就准备过光棍节吧)

目录


前言:


分析(x0)


第一步


第二步


第三步


环境配置


模块安装


硒的环境配置


Python代码


视频教程




前言:


大家好。我的名字叫善念。自从很多关于python爬虫的文章下架后,我的博文越来越差。我觉得是因为账户权重拉低太多了。如果文章对你有帮助,希望大家帮你点个一键三连,顺便动动你有钱的小手给我一个诚实的评论。






我说的这个剧本,其实是我18年给学生讲的一个小案例。虽然是针对淘宝的,但其实是一个通用脚本。为什么?因为是selenium写的,所以基本通用,无非就是改变一些元素选择。


本文包含文章的思路介绍和源代码提供,并包含视频教程!


分析(x0)

私人边肖01可以获得很多Python学习资源。


先以淘宝为例,然后如果你想抢购商品,


第一步


您只需登录您的帐户:





然后


第二步


每个人都必须选择扫码登录:


原因是淘宝毕竟是淘宝。已检测到您的正常模拟输入帐户密码。有些人可能尝试过。让我这么说吧。如果你把账号拆成三段,密码拆成三段,再加个延迟,偶尔也能登录成功!


但你要知道为什么偶尔?因为淘宝控制了你的代理,包括你的机器环境。所以还是老老实实选择扫码登录吧。





第三步


我相信很多人都会知道它在搜索商品,然后...其实不是的。至于我们的一个抢购机制,一定要理解,就是以结算为准,以结算为准。重要的事情说三遍。






什么是结算?


也就是说你只需要点击结算按钮(就算不结算也是可以的。只要你点击结算,系统会提醒你还要多长时间付款,但其实这个产品只要你付款就已经属于你了,额度已经属于你了)。


所以我们需要做的就是提前手动将需要抢购的商品加入购物车,然后判断时间。如果到时间了,那么脚本会立刻无限期的为我点击结算!






环境配置


模块


  • 时间

  • pip安装selenium


    时间是内置模块,不需要安装。


    selenium的环境配置


    这件事我讲过无数遍了,但是没办法。还是要从以前的文章复制粘贴。......


    关于模块,我们重点来看介绍:


    Selenium是一个测试Web应用程序的工具。Selenium测试直接在浏览器中运行,就像真实用户在操作一样。


    如果你听不懂我的话,我就说一点白话。如果你是一个web开发人员,开发了上百个网站,一个一个测试bug是不是浪费时间?selenium框架用来模拟人自动控制浏览器,这样是不是节省了很多时间?


    既然selenium可以控制浏览器,那两者之间肯定有桥梁,不可能是无中生有吧?


    然后浏览器的风格不一样,中间的桥梁也不一样。比如我更喜欢用Chrome浏览器,所以我们需要下载一个selenium和Chrome之间的桥梁——[/S2 ——Chrome driver插件


    下载地址




    淘宝抢购脚本


    下载最接近你当前谷歌浏览器版本的chrome驱动程序。




    然后,像我一样,下载



    很好。


    Windows系统需要下载32位,剩下的就看你的了。单击下载win32。




    那么如何将Python和selenium连接起来呢?这里我们需要配置一个环境变量,也就是把Python和selenium放在同一个目录下:





    至此,我们的环境已经搭建好了。


    Python代码


    from selenium import webdriver import datetime, time def login(): # 打开淘宝登录页,并经行扫码登录 brower.get("https://www.taobao.com") # 等待selenium 框架加载网页完成 time.sleep(3) if brower.find_element_by_link_text("亲,请登录"): brower.find_element_by_link_text("亲,请登录").click() input('扫码完成后按一下Enter键') brower.get("https://cart.taobao.com/cart.htm") time.sleep(3) now = datetime.datetime.now() print('login success: ', now.strftime('%Y-%m-%d %H:%M:%S')) # 2. 实现商品购买 def buy(times): # 点击购物车里的全选按钮 while True: now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') # 对比时间,时间到的话就点击结算 if now > times: while True: # 异常处理 try: if brower.find_element_by_id("J_SelectAll2"): brower.find_element_by_id("J_SelectAll2").click() break except: print('找不到全选按钮...') # 点击结算按钮//*[@id="J_Go"]/span while True: try: if brower.find_element_by_xpath('//*[@id="J_Go"]/span'): brower.find_element_by_xpath('//*[@id="J_Go"]/span').click() print('结算成功') break except: print('找不到结算按钮') # 提交订单 # while True: # try: # if brower.find_element_by_link_text('提交订单'): # brower.find_element_by_link_text("提交订单").click() # now1 = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') # print('抢购成功时间:%s' % now1) # break # except: # print('我的银行卡没钱...') # # time.sleep(0.01)#2019-06-09 17:05:00.000000 # 启动函数2019-11-02 14:03:00.000000 if __name__ == "__main__": times = input("请输入抢购时间,格式(2019-05-08 20:00:00.000000):") brower = webdriver.Chrome() login() buy(times)

    您可以还会对下面的文章感兴趣

    暂无相关文章

    使用微信扫描二维码后

    点击右上角发送给好友