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同时给两个收件人发送邮件的方法
Apr 30 Python
用Python编写简单的定时器的方法
May 02 Python
关于Python 3中print函数的换行详解
Aug 08 Python
Python开发的HTTP库requests详解
Aug 29 Python
Python 结巴分词实现关键词抽取分析
Oct 21 Python
urllib和BeautifulSoup爬取维基百科的词条简单实例
Jan 17 Python
python3实现域名查询和whois查询功能
Jun 21 Python
python判断列表的连续数字范围并分块的方法
Nov 16 Python
对Django外键关系的描述
Jul 26 Python
python 计算两个列表的相关系数的实现
Aug 29 Python
对tensorflow 中tile函数的使用详解
Feb 07 Python
Elasticsearch py客户端库安装及使用方法解析
Sep 14 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
注意:php5.4删除了session_unregister函数
2013/08/05 PHP
php向js函数传参的几种方法
2014/08/10 PHP
Apache启动报错No space left on device: AH00023该怎么解决
2015/10/16 PHP
ThinkPHP 3.2.2实现事务操作的方法
2017/05/05 PHP
浅谈Laravel中的一个后期静态绑定
2017/08/11 PHP
基于laravel-admin 后台 列表标签背景的使用方法
2019/10/03 PHP
js捕获鼠标滚轮事件代码
2013/12/16 Javascript
Javascript遍历Html Table示例(包括内容和属性值)
2014/07/08 Javascript
jQuery多条件筛选如何实现
2015/11/04 Javascript
Bootstrap每天必学之标签与徽章
2015/11/27 Javascript
Web安全测试之XSS实例讲解
2016/08/15 Javascript
jQuery web 组件 后台日历价格、库存设置的代码
2016/10/14 Javascript
AngularJS 与百度地图的结合实例
2016/10/20 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
2017/01/09 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
使用vue.js编写蓝色拼图小游戏
2017/03/17 Javascript
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
详解js删除数组中的指定元素
2018/10/31 Javascript
Python装饰器基础详解
2016/03/09 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
Sanic框架安装与简单入门示例
2018/07/16 Python
对python cv2批量灰度图片并保存的实例讲解
2018/11/09 Python
对Python多线程读写文件加锁的实例详解
2019/01/14 Python
python算法题 链表反转详解
2019/07/02 Python
react+django清除浏览器缓存的几种方法小结
2019/07/17 Python
Python银行系统实战源码
2019/10/25 Python
DJango的创建和使用详解(默认数据库sqlite3)
2019/11/18 Python
python温度转换华氏温度实现代码
2020/12/06 Python
详解CSS3选择器:nth-child和:nth-of-type之间的差异
2017/09/18 HTML / CSS
html5 Canvas画图教程(10)—把面拆成线条模拟出圆角矩形
2013/01/09 HTML / CSS
女子锻炼服装和瑜伽服装:Splits59
2019/03/04 全球购物
工商治理实习生的自我评价分享
2014/02/20 职场文书
表彰大会新闻稿
2015/07/17 职场文书
2015年幼儿园班主任个人工作总结
2015/10/22 职场文书
Python中tkinter的用户登录管理的实现
2021/04/22 Python
CSS filter 有什么神奇用途
2021/05/25 HTML / CSS