美文网首页
爬虫多进程:multiprocessing

爬虫多进程:multiprocessing

作者: Thunder_Storm | 来源:发表于2020-03-06 11:39 被阅读0次

爬虫的时候有时候会需要请求几千个甚至是几万个页面,这个时候多进程就可以排上用场了。

#导入文件
from multiprocessing import freeze_support
import multiprocessing

#充分利用cpu
if __name__ == '__main__':
  cpu_count = multiprocessing.cpu_count()
  print('Cpu count:', cpu_count)
  #开启进程
  pool = multiprocessing.Pool(cpu_count)
  freeze_support()
  #进程中通信,如果main函数有多个参数,可以使用partial
  #参数中`select_urls`为可迭代对象(列表),all_analyze ,all_advice 每个进程间可以进行共享的参数
  all_analyze = multiprocessing.Manager().list([])  # 主进程与子进程共享这个List
  all_advice = multiprocessing.Manager().list([]) 
  pool.map(partial(main,all_analyze = all_analyze,all_advice =  all_advice),select_urls)
  pool.close()
  pool.join()

相关文章

网友评论

      本文标题:爬虫多进程:multiprocessing

      本文链接:https://www.haomeiwen.com/subject/hncvrhtx.html