Python while true实现爬虫定时任务


Posted in Python onJune 08, 2020

记得以前的windows 任务定时是可以的正常使用的,今天试了下,发现不能正常使用了,任务计划总是挂起。

接下来记录下python 爬虫定时任务的几种解决方法。

今天是第一篇,后面会陆续更新。

首先最容易的是while true死循环挂起,上代码

import osimport timeimport sysfrom datetime import datetime, timedelta
def One_Plan():
   # 设置启动周期
   Second_update_time = 24 * 60 * 60
   
  # 当前时间
  now_Time = datetime.now()
  # 设置 任务启动时间
  plan_Time = now_Time.replace(hour=9, minute=0, second=0, microsecond=0) 
  # 设置差值,-1 day, 21:48:53.246576,类似于这样
  # time.sleep()需要传入int,所以下面使用.total_seconds() 
  # 主要用来计算差值,返回int,具体功能可以自行查阅相关资料
  delta = plan_Time - now_Time
  first_plan_Time = delta.total_seconds() % Second_update_time
  print("距离第一次执行需要睡眠%d秒" % first_plan_Time)
  return first_plan_Time

# while Ture代码块,挂起程序,睡眠时间结束后调用函数名进行执行
while True:

  s1 = One_Plan()
  time.sleep(s1)
  # 下面这里是自己定义的函数,想跑代码的可以换成hellow world函数或者注释掉这行测试下
  exe_file(D_list)
  print("正在执行首次更新程序")

个人感觉使用这种方式进行定时计划的启动如果为单个程序,并且一天执行一次的话没什么问题,如果要考虑到一天执行多个任务并且一天需要执行多次,短板一下就凸显出来了,

在工作的情况中还需要考虑到很多因素,比如爬虫程序需要在晚上12点和早上6点,9点,下午3点执行四次,并且需要同时执行4个爬虫,还需要考虑到网络是否稳定,如果程序挂掉该怎么处理等等因素

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python中操作日期和时间之gmtime()方法的使用
May 22 Python
Python用Bottle轻量级框架进行Web开发
Jun 08 Python
Python中使用asyncio 封装文件读写
Sep 11 Python
Python之列表的插入&替换修改方法
Jun 28 Python
Python实现分段线性插值
Dec 17 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
Jan 15 Python
python定时检测无响应进程并重启的实例代码
Apr 22 Python
在SQLite-Python中实现返回、查询中文字段的方法
Jul 17 Python
python中类的输出或类的实例输出为这种形式的原因
Aug 12 Python
Python sys模块常用方法解析
Feb 20 Python
利用Python实现Excel的文件间的数据匹配功能
Jun 16 Python
Pytest如何使用skip跳过执行测试
Aug 13 Python
python 实现rolling和apply函数的向下取值操作
Jun 08 #Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
Jun 08 #Python
Python实现查找数据库最接近的数据
Jun 08 #Python
python numpy库np.percentile用法说明
Jun 08 #Python
python thrift 实现 单端口多服务的过程
Jun 08 #Python
Python astype(np.float)函数使用方法解析
Jun 08 #Python
python opencv 实现读取、显示、写入图像的方法
Jun 08 #Python
You might like
十天学会php之第八天
2006/10/09 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
2020/04/05 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
2014/07/29 PHP
100行PHP代码实现socks5代理服务器
2016/04/28 PHP
PHP使用反向Ajax技术实现在线客服系统详解
2019/07/01 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
详解CSS样式中的 !important * _ 符号
2021/03/09 HTML / CSS
TNC vs BOOM BO3 第三场2.13
2021/03/10 DOTA
Javascript 判断客户端浏览器类型代码
2010/03/01 Javascript
jquery图片不完全按比例自动缩小的简单代码
2013/07/29 Javascript
js中生成map对象的方法
2014/01/09 Javascript
angularJS 中input示例分享
2015/02/09 Javascript
Jquery使用小技巧汇总
2015/12/29 Javascript
利用iscroll4实现轮播图效果实例代码
2017/01/11 Javascript
jquery实现图片放大点击切换
2017/06/06 jQuery
vue微信分享 vue实现当前页面分享其他页面
2017/12/02 Javascript
php中and 和 &&出坑指南
2018/07/13 Javascript
解决vue项目使用font-awesome,build后路径的问题
2018/09/01 Javascript
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
简单讲解Python编程中namedtuple类的用法
2016/06/21 Python
Python实现从log日志中提取ip的方法【正则提取】
2018/03/31 Python
Python操作word常见方法示例【win32com与docx模块】
2018/07/17 Python
使用Python操作FTP实现上传和下载的方法
2019/04/01 Python
Python hexstring-list-str之间的转换方法
2019/06/12 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
Python魔术方法专题
2020/06/19 Python
猎人靴英国官网:Hunter Boots
2017/02/02 全球购物
美国牙科折扣计划:DentalPlans.com
2019/08/26 全球购物
敏捷开发的主要原则都有哪些
2015/04/26 面试题
门卫岗位职责
2013/11/15 职场文书
小学生国旗下演讲稿
2014/04/25 职场文书
我的中国梦演讲稿小学篇
2014/08/19 职场文书
出纳试用期工作总结2015
2015/05/28 职场文书
大学入学感言
2015/08/01 职场文书
2019年作为一名实习生的述职报告
2019/09/29 职场文书
MySQL 开窗函数
2022/02/15 MySQL