京东秒购—--基于selenium第三方库的爬虫
本人是一枚在校大学生,也是在2021的第一篇博客。在科研实践之余,写了一篇觉得蛮有意思博客,一‘条’关于京东秒购的爬虫。
接下来介绍一下自己的主要思路:
1、利用selenium扫描登入京东
def scan():
webdriver.get("https://cart.jd.com/cart?rd=0.6242487242726857") # 此为购物车网站 https://cart.jd.com/cart?rd=0.6242487242726857
time.sleep(3)
webdriver.find_element_by_xpath('//*[@id="content"]/div[2]/div[1]/div/div[2]/a').click() # 一般需要登录,此处点击的是去登录按钮
time.sleep(50) # 为了避免输入校验码绕过了输入登录账户密码的步骤,此处打开的是二维码页面,请在50秒内用手机app扫描登录。
2、设置购买时间(2021-01-01 00:00:00) ,在0.05s抢购一次。
def buy_on_time(buytime):
while True:
now = datetime.datetime.now()
if now.strftime('%Y-%m-%d %H:%M:%S') == buytime:
for i in range(1, 21): # 每隔0.05秒抢购一次,尝试抢购20次
webdriver.find_element_by_xpath("/html/body/div[4]/div[2]/div/div[1]/div/div[2]/div/div/div[1]/div[1]/input").click()
webdriver.find_element_by_link_text("去结算").click()
print(now.strftime('%Y-%m-%d %H:%M:%S'))
print("第%d次抢购" % i)
time.sleep(0.05)
time.sleep(3)
print('purchase success')
time.sleep(0.5)
3、完整代码展示
# -*- coding: utf-8 -*-
# @Time : 2020/12/31 15:52
# @Author : DZH
# @FileName: jingdong.py
# @Software: PyCharm
from selenium import webdriver # 导入Chrome浏览器的驱动
import time
import datetime
webdriver = webdriver.Chrome(executable_path='D:\Chrome\chromedriver.exe') # 打开一个谷歌浏览器
webdriver.maximize_window()
def buy_on_time(buytime):
while True:
now = datetime.datetime.now()
if now.strftime('%Y-%m-%d %H:%M:%S') == buytime:
for i in range(1, 21): # 每隔0.05秒抢购一次,尝试抢购20次
webdriver.find_element_by_xpath("/html/body/div[4]/div[2]/div/div[1]/div/div[2]/div/div/div[1]/div[1]/input").click()
webdriver.find_element_by_link_text("去结算").click()
print(now.strftime('%Y-%m-%d %H:%M:%S'))
print("第%d次抢购" % i)
time.sleep(0.05)
time.sleep(3)
print('purchase success')
time.sleep(0.5)
def scan():
webdriver.get("https://cart.jd.com/cart?rd=0.6242487242726857") # 此为购物车网站 https://cart.jd.com/cart?rd=0.6242487242726857
time.sleep(3)
webdriver.find_element_by_xpath('//*[@id="content"]/div[2]/div[1]/div/div[2]/a').click() # 一般需要登录,此处点击的是去登录按钮
time.sleep(50) # 为了避免输入校验码绕过了输入登录账户密码的步骤,此处打开的是二维码页面,请在50秒内用手机app扫描登录。
if __name__ == "__main__":
# times = input("请输入抢购时间:")
# 时间格式:"2018-09-06 11:20:00.000000"
scan()
buy_on_time("2021-01-01 00:00:00") # 这里设置你需要抢购商品的时间
禁止任何公众号、自媒体进行任何形式的转载、发布!!!谢谢!!!