1

Python实现京东抢秒杀

 3 years ago
source link: https://blog.csdn.net/oJiuJieZhong/article/details/113060387
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

京东购物车抢购商品

此博客内容为纯粹的技术分享和讨论,不存在任何盈利的行为,阅读者将代码用于任何盈利的行为,于博主无关


1.Python的下载和安装

这里由于我们代码是基于Python来执行的

所以我们这里需要2个东西:
一个是Python本身,另一个是pycharm,只需要这两个哦!!!

网上有很多教程,所以我在这里就不一一赘述了


博客最后有惊喜哦


2.系统环境,模块的配置

安装好Python,请移步我的另一篇博客,根据前面的3个步骤完成环境的配置
Python实现淘宝秒杀


3.京东抢秒杀代码


注意!!:
①将代码复制到pycharm中执行
②注意代码修改最后的时间
③需要安装火狐浏览器
④京东扫码登录
⑤!!!!!!!!!!!!!
代码写的是购物车全选结算,如果不适合自己的情况,可以使用firebug去修改


代码运行的整个流程:

①pycharm中运行代码
在这里插入图片描述

②代码会自动打开火狐浏览器
③等待网页加载完成后,等待几秒,代码会自动弹出登录界面,这时扫码登录京东账号
在这里插入图片描述

④代码会根据你输入的时间,到达时间后,会自动进行购物车全选,进行结算下单
在这里插入图片描述

⑤下单完成后,根据自己的需求,手动决定是否付款

都看到这了确定不给我一个点赞和关注吗?

from selenium import webdriver  # 导入火狐浏览器的驱动
import time
import datetime
from os import path

d = path.dirname(__file__)
abspath = path.abspath(d)

webdriver = webdriver.Firefox()     # 打开一个火狐浏览器
webdriver.maximize_window()


def login():
    webdriver.get("https://cart.jd.com/cart_index")  # 此为购物车网站 
    time.sleep(3)
    webdriver.find_element_by_id("cartEmptyGologinBtn").click()   # 一般需要登录,此处点击的是去登录按钮
    time.sleep(15)  # 为了避免输入校验码绕过了输入登录账户密码的步骤,此处打开的是二维码页面
    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 webdriver.find_element_by_name("select-all"):
            webdriver.find_element_by_name("select-all").click()
        if webdriver.find_element_by_class_name("common-submit-btn"):
            webdriver.find_element_by_class_name("common-submit-btn").click()
        webdriver.find_element_by_link_text("知道了").click()
     except:
      # time.sleep(0.2)
      # print(now)
      # time.sleep(0.1)
      pass
      try:
        webdriver.find_element_by_id('order-submit').click()
        time.sleep(0.05)
      except:
        pass
if __name__ == "__main__":
  # times = input("请输入抢购时间:")
  # 时间格式:"2018-09-06 11:20:00.000000"
  login()
  buy("2021-01-23 00:00:00.000000")
  

都看到这了?不会看不懂吧?还好,我早就准备好了python封装过的文件了,按照步骤,点开执行就行了

https://download.csdn.net/download/oJiuJieZhong/14928706


在这里插入图片描述
实测5秒内下单,具体还是跟大家自己的网络有关,毕竟有一个页面跳转的过程,博主这里网络比较慢,快一点网络效果会更好


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK