基于线程池异步抓取
Posted youxiu123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于线程池异步抓取相关的知识,希望对你有一定的参考价值。
from multiprocessing.dummy import Pool #线程池模块 #必须只可以有一个参数 def my_requests(url): return requests.get(url=url,headers=headers).text start = time.time() urls = [ ‘http://127.0.0.1:5000/bobo‘, ‘http://127.0.0.1:5000/jay‘, ‘http://127.0.0.1:5000/tom‘, ] pool = Pool(3) #map:两个参数 #参数1:自定义的函数,必须只可以有一个参数 #参数2:列表or字典 #map的作用就是让参数1表示的自定义的函数异步处理参数2对应的列表或者字典中的元素 page_texes = pool.map(my_requests,urls) print(page_texes) print(time.time()-start)
以上是关于基于线程池异步抓取的主要内容,如果未能解决你的问题,请参考以下文章
27 Apr 18 GIL 多进程多线程使用场景 线程互斥锁与GIL对比 基于多线程实现并发的套接字通信 进程池与线程池 同步异步阻塞非阻塞