上图片是为计算机所运行的进程,而每个进程都至少有一个线程,而多线程就是比如我们在用网易云进行听歌的时候同时还可以进行对歌曲评论的查看。同时多线程可以在python爬虫中使用可以加快对信息的爬取,大大节省我们的时间。
先上比较图
python实现多线程需要导入一个threading模块(同时爬虫用到模块内的一些方法)
import threadingth = threading.Thread(targer = 函数名,name = "线程名",args(传入函数的参数))#创建一个线程th.start()#创建完线程之后记得要运行线程th.join()#阻塞线程,当线程执行有先后顺序的时候可以用到这个功能threading.enumerate()#获取当前程序所运行的线程
下面是一个实例
import threadingimport timedef multithreading(): print(threading.current_thread().name)#打印正在运行线程的名字 time.sleep(1)if __name__ == "__main__": print(threading.current_thread().name) for i in range(5): t = threading.Thread(target=multithreading,name = "线程"+str(i))#创建线程 t.start() print(threading.current_thread().is_alive())#判断线程是否活着,如果活着返回True,挂掉返回False print(threading.enumerate())
如果是爬虫可以进行函数封装然后通过调用函数名来运行,同时可以实现多个操作来加快我们的爬取速度