Python爬虫之定时抢购淘宝商品

摘要:
Python爬虫之定时抢购淘宝商品importtimefromseleniumimportwebdriverimportdatetimeclassSpider:def__init__(self,url):self.__base_url=urlself.__headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/5
Python爬虫之定时抢购淘宝商品
importtime
from selenium importwebdriver
importdatetime
classSpider:
    def __init__(self, url):
        self.__base_url =url
        self.__headers ={
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36',
        }
    defget_url(self):
        globaldriver
        driver.get(self.__base_url)
    deflogin(self):
        globaldriver
        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")
    defselectAll(self,method):
        globaldriver
        #打开购物车列表页面
        driver.get("https://cart.taobao.com/cart.htm")
        time.sleep(3)
        #是否全选购物车
        if method ==0:
            whileTrue:
                try:
                    if driver.find_element_by_id("J_SelectAll1"):
                        driver.find_element_by_id("J_SelectAll1").click()
                        break
                except:
                    #print(f"找不到购买按钮")
                    pass
        if method ==1:
            print(f"请手动勾选需要购买的商品")
            time.sleep(30)
    defbuy(self,times):
        globaldriver
        whileTrue:
            now =datetime.datetime.now()
            #对比时间,时间到的话就点击结算
            if now >times:
                #点击结算按钮
                whileTrue:
                    try:
                        if driver.find_element_by_link_text("结 算"):
                            driver.find_element_by_link_text("结 算").click()
                            print(f"结算成功,准备提交订单")
                            break
                    except:
                        pass
                #点击提交订单按钮
                whileTrue:
                    try:
                        if driver.find_element_by_link_text('提交订单'):
                            driver.find_element_by_link_text('提交订单').click()
                            print(f"抢购成功,请尽快付款")
                    except:
                        #print(f"再次尝试提交订单")
                        pass
                time.sleep(0.01)
option =webdriver.ChromeOptions()
option.add_argument('disable-infobars')
driver = webdriver.Chrome(chrome_options=option)
spider = Spider("https://www.taobao.com")
spider.get_url()
spider.login()
#设置0为全选、1为手动
spider.selectAll(0)
#设置抢购时间
set_time = datetime.datetime(2019,6,6,1,25)
spider.buy(set_time)

免责声明:文章转载自《Python爬虫之定时抢购淘宝商品》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇最全前端资源汇集C++手写快读详解(快速读入数字)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python模块学习心得

初始模块 1.什么是模块 模块是用来实现某项功能的一大堆代码,为什么会有模块呢?过程式编程的时候为了减少程序员编程代码的重复性,就利用函数的调用减少了代码的重复性,但是某些时候程序会过于的庞大,我们会用到很多很多 的函数,同样是为了方便,我们就把某些函数在一起共同产生的一些功能放在同一个py文件里面,这个py文件就称为一个模块,或者多个py文件在一个文件夹...

Python获取当前代码行数

import os import sys def line_file_test(): print(sys._getframe().f_lineno) # 获取当前行号(行数) print(__file__) # 获得当前Python文件绝对路径 print(os.path...

python面试1

注:本面试题来源于网络,转载请注明来自http://www.cnblogs.com/goodhacker/p/3366618.html。 1. (1)python下多线程的限制以及多进程中传递参数的方式  python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只能有一个线程使用解释器,跟单cpu跑多个程...

python——模块(Module)的概念、使用以及安装第三方模块

一、模块定义 python中,一个.py文件就是一个模块(Module)。使用模块的好处:1、提高了代码的可维护性。我们把函数进行分组,分别放在不同的模块中。2、编写代码不必要从0开始,当一个模块编写完毕,就可以被其他的模块引用。python有很多内置的模块和第三方模块供引用。3、可以避免函数名和变量名重复。相同的函数名和变量名可以同时存在于不同的模块中。...

Python操作远程机器

操作远程机器主要使用的有paramiko,WMI(Windows Management Instrumentation),SMBConnection. paramiko paramiko使用SSH2协议操作远程机器,是Python语言写的一个模块。 安装 pip install paramiko 使用 使用主要包括执行命令,上传文件和下载文件。 连接...

Python环境搭建

Python下载 Python最新源码,二进制文档,新闻资讯等可以在Python的官网查看到: Python官网:http://www.python.org/ 你可以在以下链接中下载 Python 的文档,你可以下载 HTML、PDF 和 PostScript 等格式的文档。 Python文档下载地址:www.python.org/doc/ Window...