记录一次双十一客户支持,python实现定时文件自动下载后自动发送到微信群

程序开发的背景:

双十一应客户要求,需要每隔一个小时就需要发一份订单统计数据给到联系微信群内,供客户统计各个业务节点的处理速度,为了不想在电脑前一直守着,本着能用技术去解决的问题,为啥要手动去处理的观念,由此产生想法开发一个自动化程序去解放双手!

一、需要安装的第三方类库:

selenium

wxauto

schedule

winreg

​
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
import os
from wxauto import *
import argparse
import winreg
import schedule
import logging

​

二、代码大体组成部分:

三、代码分析:

# 任务运行
def run_job():

    logging.basicConfig()
    schedule_logger = logging.getLogger('schedule_sendWxFile')
    # 日志级别为DEBUG
    schedule_logger.setLevel(level=logging.DEBUG)

    # 获取桌面路径
    desktop_url = desktop_path()
    desktop_url = desktop_url.replace("Desktop", "Download")

    # 接收参数
    parser = argparse.ArgumentParser(description="download excel send to wx group!")
    parser.add_argument("--login_url", type=str, default="", help="报表文件下载的登录地址")
    parser.add_argument("--save_path", type=str, default=desktop_url+ r"\report", help="报表文件下载保存到本地电脑目录路径, 默认: 当前用户download目录下report文件夹")
    parser.add_argument("--username", type=str, default="", help="报表文件下载的登录账号")
    parser.add_argument("--password", type=str, default="", help="报表文件下载的登录密码")
    parser.add_argument("--download_url", type=str, default="", help="报表文件下载链接")
    parser.add_argument("--save_filename", type=str, default="", help="报表文件下载保存后文件名称, 默认:双十一单据分段耗时统计表_当前时间xxxx-xx-xx-xx00_E3.xlsx")
    parser.add_argument("--who", type=str, default="文件传输助手", help="需要发送报表的微信用户, 默认文件传输助手")
    parser.add_argument("--start_time", type=str, default="", help="指定开始时间报表下载, 格式:2023-11-10-11:00:00")
    parser.add_argument("--end_time", type=str, default="", help="指定结束时间报表下载, 格式:2023-11-10-11:00:00")
    parser.add_argument("--time_lag", type=int, default=1, help="程序定时运行时间间隔, 默认1小时")
    params = parser.parse_args()
    time_lag = params.time_lag

    if time_lag > 0:
        # schedule.every(time_lag).hours.do(download_and_send, params)
        schedule.every().hour.at(":09").do(download_and_send, params)

        while True:
            schedule.run_pending()
            time.sleep(1)
    else:
        download_and_send(params)

程序入口为run_job函数,使用schedule实现定时执行的能力,argparse模块作为运行程序时的传参,为了避免有些地方取值发生改变,做的更加灵活一点

# 判断文件是否存在            
def exist_file(path_to
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DevZYD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值