女朋友跟你说晚安之后仍然在线,我用Python制作脚本成功征服

大家好,我是辣条。

 

辣条的一个朋友最近跟我诉苦:女朋友沉迷淘宝抢购无法自拔,大晚上不睡觉都在定时抢购,真是败家。

都是好朋友辣条肯定帮忙,不就是定时抢购,定时清空购物车嘛,这叫安排。

爬取目标

网站:淘宝

image.png

工具使用

开发工具:pycharm 开发环境:python3.7, Windows10 使用工具包:selenuim

需求分析

我们的目标是秒杀淘宝的订单,这里面有几个关键点,首先需要登录淘宝,其次你需要准备好订单,最后要在指定时间快速提交订单。

项目思路解析

selenium安装配置

selenium是Python自动化测试的工具库,需要配置一些环境驱动 selenium安装

pip install selenium

Selenium安装好之后,并不能直接使用,它需要与浏览器进行对接。这里拿Chrome浏览器为例。若想使用Selenium成功调用Chrome浏览器完成相应的操作,需要通过ChromeDriver来驱动。 链接:

https://chromedriver.storage.googleapis.com/index.html 根据自身的chorme版本选择安装的驱动版本

image.png

image.png

下载完成之后,解压,将其放置在Python安装路径下python文件夹中即可

image.png

项目解析

尝试通过selenium打开淘宝首页,检验是否安装成功

from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.taobao.com")
通过xpath定位选取到登录标签,抢购脚本需要先知道你购买的东西是什么 

image.png

登录的方式课自行选择(可账户密码登录,也可扫码登录,辣条在这里用的扫码登录)

登录成功后点击购物车,选取你需要的商品数据(可全选,可自己手动勾选)

image.png

在点击结算按钮

image.png

设定一个结算时间,你需要下单的时间

image.png

等待时间的到来 点击提交订单按钮

image.png

简易源码分享

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : BaiChuan
# @File    : 淘宝抢购.py
​
​
from selenium import webdriver
import datetime
import time
​
​
driver = webdriver.Chrome()
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(3)
    # 点击购物车里全选按钮
    if driver.find_element_by_id("J_SelectAll1"):
        driver.find_element_by_id("J_SelectAll1").click()
    now = datetime.datetime.now()
    print('login success:', now.strftime('%Y-%m-%d %H:%M:%S:%f'))
​
​
def buy(buytime):
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
        print("当前时间" + now)
        # 对比时间,时间到的话就点击结算
        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("请输入抢购时间:")
    # 时间格式:"2018-09-06 11:20:00.000000"
    login()
    buy("2021-08-24 14:30:00.000000")

脚本是弄完了不过事情好像没完......

  • 199
    点赞
  • 425
    收藏
    觉得还不错? 一键收藏
  • 174
    评论
### 回答1: 很高兴为你编写Python留言板代码。首先,我们需要定义一个函数,用于显示留言板:def show_message_board(): # 显示留言板功能 print('欢迎使用留言板') print('1. 查看留言') print('2. 写留言') print('3. 删除留言') print('4. 退出留言板') 然后,我们需要定义一个函数,用于查看留言:def view_message(): # 查看留言功能 print('查看留言功能')接下来,我们需要定义一个函数,用于写留言:def write_message(): # 写留言功能 print('写留言功能')接下来,我们需要定义一个函数,用于删除留言:def delete_message(): # 删除留言功能 print('删除留言功能')最后,我们需要定义一个函数,用于退出留言板:def exit_message_board(): # 退出留言板功能 print('退出留言板功能') exit() 完成这些函数的定义后,我们就可以开始编写主程序了:if __name__ == '__main__': show_message_board() while True: choice = input('请输入您要进行的操作:') if choice == '1': view_message() elif choice == '2': write_message() elif choice == '3': delete_message() elif choice == '4': exit_message_board() else: print('输入有误,请重新输入!') ### 回答2: 以下是一个用Python编写的多功能留言板代码,我已为代码添加了注释来帮助理解: ```python # 导入所需的模块 import datetime # 定义一个留言板类 class MessageBoard: def __init__(self): self.messages = [] # 初始化留言列表 def post_message(self, content, author): # 创建一个留言字典,包含内容、作者和时间 message = { "content": content, "author": author, "timestamp": datetime.datetime.now() } self.messages.append(message) # 将留言添加到留言列表中 def get_messages(self): return self.messages # 返回所有留言 def get_messages_by_author(self, author): author_messages = [] # 创建一个特定作者的留言列表 for message in self.messages: if message["author"] == author: author_messages.append(message) # 将特定作者的留言添加到列表中 return author_messages # 创建留言板实例 board = MessageBoard() # 测试代码 board.post_message("你好!", "张三") board.post_message("早上好!", "李四") board.post_message("晚安!", "张三") print("所有留言:") for message in board.get_messages(): print("内容:", message["content"]) print("作者:", message["author"]) print("时间:", message["timestamp"]) print("张三的留言:") for message in board.get_messages_by_author("张三"): print("内容:", message["content"]) print("时间:", message["timestamp"]) ``` 这个留言板代码可以添加留言并按作者过滤留言。代码首先创建一个`MessageBoard`类,其中包含了留言列表和一些方法。`post_message`方法用于添加留言,`get_messages`方法返回所有留言,`get_messages_by_author`方法根据作者返回特定留言。通过创建`MessageBoard`实例并调用这些方法,可以实现留言的添加和过滤功能。 以上是一个简单的示例代码,你可以根据自己的需求进行扩展和修改。 ### 回答3: 当然可以为您编写Python多功能留言板代码,以下是一个简单的示例,共有多个功能和注释解释。 ```python import datetime messages = [] def add_message(): """ 添加留言 """ name = input("请输入您的姓名:") content = input("请输入留言内容:") timestamp = datetime.datetime.now() message = f"{name} 在 {timestamp} 留言:{content}" messages.append(message) print("留言添加成功!") def view_messages(): """ 查看留言 """ if not messages: print("暂无留言") else: for message in messages: print(message) while True: print("请选择您要进行的操作:") print("1. 添加留言") print("2. 查看留言") print("3. 退出") choice = input() if choice == "1": add_message() elif choice == "2": view_messages() elif choice == "3": break else: print("无效的选项,请重新选择") print("感谢使用留言板!") ``` 该代码实现了一个简单的留言板,具有添加留言和查看留言的功能。用户可以选择操作,1代表添加留言,2代表查看留言,3代表退出。添加留言时,用户需要输入姓名和留言内容,然后会自动记录留言的时间戳,并显示添加成功的提示。查看留言时,如果有留言存在,会逐行展示所有留言;如果暂时无留言,则会显示相应的提示信息。用户可以根据需要进行操作,直到选择退出。最后会显示感谢使用的信息。 请注意,该代码只是一个简单示例,没有进行输入验证、文件或数据库存储等更为高级的功能。根据需求的不同,您可以根据此示例进行进一步的定制和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 174
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值