四、异步爬虫

    科技2022-08-01  100

    1、异步爬虫

    1.1 异步爬虫概述:

    ​ 未使用异步时单线程爬取结果信息[会阻塞]:

    ​ 使用异步爬虫的方式:

    ​ (1). 多线程**[不建议]**:可以未相关阻塞操作单独开启线程或者进程,阻塞操作就可以异步执行。

    ​ 弊端:无法无限制的开启多线程或者多进程

    ​ (2). 线程池、进程池**[少使用]**:

    ​ 好处:可以降低系统对进程或者线程创建和销毁的一个频率,从而很好的降低系统开销。

    ​ 弊端:池中线程或进程的数量是有上限的。

    1.2 线程池方式的使用:

    # 测试线程池方式 import time # 导入线程池模块的类 from multiprocessing.dummy import Pool if __name__ == '__main__': # 1.记录开始时间 start_time=time.time() # 2.构造操作函数 def get_page(str): print("正在下载...",str) time.sleep(2) print("下载完成...",str) # 3.实例化测试数据 name_list=["xiaozhi","bige","xiaomo "] # 4.实例化线程池对象 pool=Pool(4) # 将每一个list数据传递给函数执行 pool.map(get_page,name_list) end_time=time.time() print(end_time-start_time)
    Processed: 0.013, SQL: 8