当前位置:   article > 正文

Python queue 多线程 线程池 爬虫_multiprocessing.pool()结合queue实现python爬虫

multiprocessing.pool()结合queue实现python爬虫

工作中有个简单的爬虫:爬取一个api 得到列表数据,再爬取每个元素api。

展示代码不涉及机密信息,兼容py2,py3,

我写的第一个版本是各种for循环,可以完成业务的需求。为了降低耦合性,不同逻辑拆开,空间上使用了列表和队列,

用到了递归,多线程

使用多线程,时间缩短了一半

  1. # -*- coding: utf-8 -*-
  2. import os
  3. import json
  4. import sys
  5. import requests
  6. import threading
  7. import time
  8. # from concurrent.futures import ThreadPoolExecutor # Python2 需要安装使用
  9. from multiprocessing.pool import ThreadPool
  10. try:
  11. from queue import Queue
  12. except ImportError:
  13. from Queue import Queue
  14. class Main(object):
  15. def __init__(self, date, bucket, purpose):
  16. self.url = "http://10.146.100.40:8880/pf/xteam/collect/get_first_data"
  17. self.detail_url = "http://10.146.100.40:8880/pf/xteam/collect/get_detail_data"
  18. self.group_queue = []
  19. self.download_link_queue = Queue()
  20. self.bucket = bucket
  21. self.purpose = purpose
  22. self.date &#
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/189685?site
推荐阅读
相关标签
  

闽ICP备14008679号