当前位置:主页 > python教程 >

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

发布:2023-01-18 10:25:23 151


给寻找编程代码教程的朋友们精选了python相关的编程文章,网友勾千亦根据主题投稿了本篇教程内容,涉及到python、循环、定时、中断、程序相关内容,已被245网友关注,相关难点技巧可以阅读下方的电子资料。

问题说明

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

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

当然不能用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循环定时中断执行某一段程序的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。


相关文章

  • 怎样使用python 爬虫一键爬取淘宝天猫宝贝页面主图颜色图和详情图

    发布:2020-01-26

    今天小编就为大家分享一篇python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • python可变类型和不可变类型区别点总结

    发布:2019-10-24

    可变数据类型,变量名存储的是一个地址,该地址指向一个具体的对象,并且不管对变量的值即对象做怎么样的操作,都不会改变变量名存储的地址。不变数据类型的对象一旦发生改变,就会在


  • Python如何实现数据库连接

    发布:2020-06-03

    介绍了如何进行数据库连接


  • Python难学吗

    发布:2020-03-12

    python是一门面向对象的、开源的、简单易学的语言。如果有英语和数学基础,且能坚持学习,那么自学python完全没有问题;如果自制力和基础差一些,学起来可能会吃力,但是只要努力,就会有


  • 总结python 多维切片之冒号和三个点的使用方法

    发布:2020-02-16

    下面小编就为大家分享一篇python 多维切片之冒号和三个点的用法介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • 用Python来搭建一个简单的推荐系统实例讲解

    发布:2021-05-18

    这篇文章主要介绍了如何用Python来搭建一个简单的推荐系统,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下


  • windows10安装python3.5 pip3图文详解

    发布:2020-03-05

    这次给大家带来在windows10里python3.5 pip3应该如何安装,在windows10里python3.5 pip3安装的注意事项有哪些,下面就是实战案例,一起来看一下。


  • Python中smtplib模块处理电子邮件的知识点

    发布:2020-02-15

    这篇文章主要介绍了举例详解Python中smtplib模块处理电子邮件的使用,是Python入门学习中的基础知识,需要的朋友可以参考下


网友讨论