在之前的文章中,我们学习了Python爬虫爬取程序的问题,但是我们最终实现的程序存在一个非常大的问题,当进行网络请求的时候,程序卡死,直到数据请求回来之后,程序才会从假死状态解脱出来,今天这篇文章主要就是为了解决爬虫程序卡死的问题,下面一起来看看吧。
当我们使用爬虫爬取程序的时候,如果出现卡死的状态,可能是因为gui程序在执行操作系统的时候,出现了无响应或者是假死的状态,通常我们采用的方法就是使用多线程,比方说我们要修改下面的这段代码:
def thread_down(func, *args): # 首先创建一个线程 H = threading.Thread(target=func, args=args) H.setDaemon(True) # 启动线程 H.start() # 创建按钮 btn = tk.Button(win,text = '实例分析', command = lambda :thread_down(down_img))
这是一段容易让程序出现卡死的代码,如果需要将程序从卡死的状态释放出来的话,我们可以在头部导入多线程的方式,加入下面这段代码:
import threading
还可以对子线程进行设置,为了守护子线程,将t.setDaemon设置为true,默认是false。当主线程结束之后,子线程也会跟着结束,这就是最简单的解决办法了,顺着这个思路慢慢的修改你的程序即可。
有关Python中爬虫程序卡死怎么办?Python解决爬虫程序卡死问题的文章就讲解到这了,希望通过对文章的学习,大家能够掌握爬虫程序卡死的知识,也学会解决这类问题。