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提取html文件中的特定数据的实现代码
Mar 24 Python
Django框架中数据的连锁查询和限制返回数据的方法
Jul 17 Python
关于Django外键赋值问题详解
Aug 13 Python
python占位符输入方式实例
May 27 Python
一文秒懂python读写csv xml json文件各种骚操作
Jul 04 Python
如何利用Pyecharts可视化微信好友
Jul 04 Python
Django后台admin的使用详解
Jul 08 Python
Python画图高斯分布的示例
Jul 10 Python
Python图像处理二值化方法实例汇总
Jul 24 Python
python打包生成so文件的实现
Oct 30 Python
python实现ROA算子边缘检测算法
Apr 05 Python
python实现调用摄像头并拍照发邮箱
Apr 27 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
FirePHP 推荐一款PHP调试工具
2011/04/23 PHP
解析PHP获取当前网址及域名的实现代码
2013/06/23 PHP
PHP生成随机字符串(3种方法)
2015/09/25 PHP
javascript 二进制运算技巧解析
2012/11/27 Javascript
js实现的折叠导航示例
2013/11/29 Javascript
使用js实现一个可编辑的select下拉列表
2014/02/20 Javascript
js 定义对象数组(结合)多维数组方法
2016/07/27 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
2016/09/24 Javascript
JS键盘版计算器的制作方法
2016/12/03 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
详解vue服务端渲染(SSR)初探
2017/06/19 Javascript
AngularJS select加载数据选中默认值的方法
2018/02/28 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
2018/09/14 Javascript
浅谈JavaScript 代码整洁之道
2018/10/23 Javascript
详解vue中localStorage的使用方法
2018/11/22 Javascript
详解如何运行vue项目
2019/04/15 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
2019/07/24 Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
2019/08/09 Javascript
jQuery实现滑动星星评分效果(每日分享)
2019/11/13 jQuery
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
[02:50]【扭转乾坤,只此一招】DOTA2全新版本永雾林渊开启新篇章
2020/12/24 DOTA
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
Python中使用ElementTree解析XML示例
2015/06/02 Python
Python 用Redis简单实现分布式爬虫的方法
2017/11/23 Python
python 将md5转为16字节的方法
2018/05/29 Python
详谈Python 窗体(tkinter)表格数据(Treeview)
2018/10/11 Python
python3.6使用tkinter实现弹跳小球游戏
2019/05/09 Python
python的移位操作实现详解
2019/08/21 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
威盛公司软件C++工程师笔试题面试题
2012/07/16 面试题
中学生运动会口号
2014/06/07 职场文书
印刷技术专业自荐信
2014/09/18 职场文书
党支部创先争优公开承诺书
2015/04/30 职场文书
go语言基础 seek光标位置os包的使用
2021/05/09 Golang