当前位置:   article > 正文

python函数一天只调用一次。_python 函数每天只允许一次

python 函数每天只允许一次

前几天遇到一个很有意思的业务需求,调用一个爬虫,而这个爬虫每天只能调用一次。

在晚上找了很久,也有很多办法,但是对于一个新手来说,哪些都有不怎么看的懂。今天我就分享一个能看得懂的。

写一个相当于日志文件的文件,什么文件都行,我这里用的是json文件。

执行函数

  1. bool= readLog() # readLog() 是读日志的函数,返回一个bool类型
  2. if not bool:
  3. print('Main执行了')
  4. #Main 是我封装的爬虫函数
  5. Main() # 如果大于24小时,重新爬取数据
  6. #写日志文件 一天只能执行一次
  7. writeLog() # writeLog() 是写日志的函数
  8. break

 readLog()

  1. def readLog():
  2. with open('log/ExeThatDay.json', 'r+', encoding='utf-8') as f:
  3. # f.readlines() 会返回一个数组
  4. readText=f.readlines()
  5. # datetime.datetime.now() 放回的是今天的时间
  6. # .strftime('%Y-%m-%d') 将今天的日期格式转化字符串格式
  7. # readText[0] 是读取的第一个
  8. # 判断是否相等
  9. bool = readText[0] == datetime.datetime.now().strftime('%Y-%m-%d')
  10. print('readLog 函数')
  11. return bool

 writeLog() 函数

  1. #写入日志
  2. def writeLog():
  3. # 以 w+ 的方式 进行写文件 (w 如果文件不存在则创建,如果存在则覆盖原数据)
  4. with open('log/ExeThatDay.json', 'w+', encoding='utf-8') as f:
  5. f.write(str(datetime.datetime.now().strftime('%Y-%m-%d')))
  6. print('writeLog 函数')

这样就可以一天只执行一次了,不过还是需要人为的运行。有点小瑕疵吧。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/435057
推荐阅读
相关标签
  

闽ICP备14008679号