如何实现Python多线程的优雅退出控制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1271个文字,预计阅读时间需要6分钟。
日常口语+最近接到+一个抢票爬虫外包,那个网站及其它攻略,访问购票地址。实际上还要排队,在购票高峰期临时提升服务器配置不行吧?没方法,甲方爸爸的要求还得做,其中一难点…
日常前言
最近接 到一个抢票的爬虫外包,那个网站及其之捞,访问购票地址竟然还要排队,在购票高峰临时升一下服务器配置不行吗…没办法,甲方爸爸的要求还得做啊,其中一个障碍便是目标网站的后端限制了访问频次,俗话说:“上有政策,下有对策。” 立刻想到了多线程 + 多代理的方式进行访问。
但此时问题便来了,多代理还好说,再写个爬虫爬一堆下来就好,多线程可就麻烦多了,多线程一旦发出去了,基本等同于失控的状态,你无法去结束或者是重启一个线程,最多只能是获取线程的信息,没有实际的控制权,而且Python官方也没有提供相应的结束函数。那么接下来,让我们来好好聊聊解决这个问题的思路。
单线程的结束
说实话,会百度在程序世界是一个优秀的习惯,不然怎么会有这么一张表情包呢
但是百度这一次却不尽人意,搜了很久,结果不尽人意,基本上所有的搜索结果都告诉我只有结束单个线程的方法,我也试过循环使用百度的结束函数,但最终都只能是结束的当前的这一个线程,无法达到目标。
本文共计1271个文字,预计阅读时间需要6分钟。
日常口语+最近接到+一个抢票爬虫外包,那个网站及其它攻略,访问购票地址。实际上还要排队,在购票高峰期临时提升服务器配置不行吧?没方法,甲方爸爸的要求还得做,其中一难点…
日常前言
最近接 到一个抢票的爬虫外包,那个网站及其之捞,访问购票地址竟然还要排队,在购票高峰临时升一下服务器配置不行吗…没办法,甲方爸爸的要求还得做啊,其中一个障碍便是目标网站的后端限制了访问频次,俗话说:“上有政策,下有对策。” 立刻想到了多线程 + 多代理的方式进行访问。
但此时问题便来了,多代理还好说,再写个爬虫爬一堆下来就好,多线程可就麻烦多了,多线程一旦发出去了,基本等同于失控的状态,你无法去结束或者是重启一个线程,最多只能是获取线程的信息,没有实际的控制权,而且Python官方也没有提供相应的结束函数。那么接下来,让我们来好好聊聊解决这个问题的思路。
单线程的结束
说实话,会百度在程序世界是一个优秀的习惯,不然怎么会有这么一张表情包呢
但是百度这一次却不尽人意,搜了很久,结果不尽人意,基本上所有的搜索结果都告诉我只有结束单个线程的方法,我也试过循环使用百度的结束函数,但最终都只能是结束的当前的这一个线程,无法达到目标。

