python循环定时中断执行某一段程序的实例

 更新时间:2019年06月29日 10:00:16   作者:我要你的自然74  
今天小编就为大家分享一篇python循环定时中断执行某一段程序的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

问题说明

最近在写爬虫,由于单个账号访问频率太高会被封,所以需要在爬虫执行一段时间间隔后自己循环切换账号

所以就在想,有没有像单片机那样子设置一个定时中断,再定义一个中断入口,这样子每隔一段时间执行一次中断

当然不能用sleep,这样子整个进程就停在这了,而不是接着爬数据

解决方法

用到threading的Timer,也类似单片机那样子,在中断程序中再重置定时器,设置中断,python实例代码如下

import threading
import time
def change_user():
  print('这是中断,切换账号')
  t = threading.Timer(3, change_user)
  t.start()
#每过3秒切换一次账号
t = threading.Timer(3, change_user)
t.start()
while True:
  print('我在爬数据')
  time.sleep(1)

输出就像这样子:

我在爬数据
我在爬数据
我在爬数据
这是中断,切换账号
我在爬数据
我在爬数据
我在爬数据
这是中断,切换账号
我在爬数据

现在问题就解决啦!

再想想单独对于这个例子来说也是可以用sleep的,代码如下

import threading
import time
def change_user():
  while True:
    print('这是中断,切换账号')
    time.sleep(3)
def spider():
  while True:
    print('我在爬数据')
    time.sleep(1)
t1 = threading.Thread(target=change_user)
t2 = threading.Thread(target=spider)
t2.start()
t1.start()
t2.join()
t1.join()

因为两个线程再执行sleep的时候会释放GIL锁,被另一线程抢到GIL锁,也可以实现定时切换账号,不过这个对于实际应用可以不太方便,所以推荐使用第一种方法

以上这篇python循环定时中断执行某一段程序的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Jupyter Notebook出现不是内部或外部的命令解决方案

    Jupyter Notebook出现不是内部或外部的命令解决方案

    这篇文章主要介绍了Jupyter Notebook出现不是内部或外部的命令解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • python实现求两个字符串的最长公共子串方法

    python实现求两个字符串的最长公共子串方法

    今天小编就为大家分享一篇python实现求两个字符串的最长公共子串方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python PIL库图片灰化处理

    Python PIL库图片灰化处理

    这篇文章主要介绍了Python图片灰化处理PIL库的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • python人工智能tensorflow常见损失函数LOSS汇总

    python人工智能tensorflow常见损失函数LOSS汇总

    这篇文章主要为大家介绍了python人工智能tensorflowf常见损失函数LOSS汇总,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python查询oracle数据库速度慢的解决方案

    Python查询oracle数据库速度慢的解决方案

    这篇文章主要介绍了Python查询oracle数据库速度慢的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • PyTorch加载预训练模型实例(pretrained)

    PyTorch加载预训练模型实例(pretrained)

    今天小编就为大家分享一篇PyTorch加载预训练模型实例(pretrained),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python词云展示库wordcloud配置详解

    Python词云展示库wordcloud配置详解

    这篇文章主要介绍了Python词云展示库wordcloud配置详解,词云就是将词语通过图形可视化的方式,直观和艺术的展示出来,词云在我们的生活中经常能够看到,无论是中文的词云还是英文的词云,需要的朋友可以参考下
    2023-07-07
  • 基于tensorflow __init__、build 和call的使用小结

    基于tensorflow __init__、build 和call的使用小结

    这篇文章主要介绍了基于tensorflow __init__、build 和call的使用小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • python神经网络使用Keras进行模型的保存与读取

    python神经网络使用Keras进行模型的保存与读取

    这篇文章主要为大家介绍了python神经网络使用Keras进行模型的保存与读取,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python @property使用方法解析

    Python @property使用方法解析

    这篇文章主要介绍了Python @property使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09

最新评论