作家
登录

我是怎样爬下6万共享单车数据并进行分析的(附代码)

作者: 来源: 2017-12-06 09:04:35 阅读 我要评论

'cache-control'"no-cache" 
  •  
  •            }  
  •  
  •  
  •            self.request(headers, payload, args, url) 
  •  
  •        except Exception as ex: 
  •  
  •            print(ex) 
  • 我是有一个代劳池,躺固?本上有8000以上的代劳。在ProxyProvider中直接获取到这个代劳池然后供给一个pick函数用于随机拔取得分前50的代劳。

    请留意,我的代劳池是每小时更新的,然则代码中供给的jsonblob的代劳列表仅仅是一个样例,过段时光后应当大年夜部分都作废了。

    在这里用到一个代劳得分的机制。我并不是直接随机选择代劳,而是将代劳按照得分高低进行排序。每一次成功的请求将加分,而掉足的请求将减分。

    如许一会儿就能选出速度、质量最佳的代劳。如不雅有须要还可以存下来下次持续用。

    1. class ProxyProvider: 
    2.  
    3.     def __init__(self, min_proxies=200): 
    4.  
    5.         self._bad_proxies = {} 
    6.  
    7.         self._minProxies = min_proxies 
    8.  
    9.         self.lock = threading.RLock()   
    10.  
    11.         self.get_list()  
    12.  
    13.  
    14.     def get_list(self): 
    15.  
    16.         logger.debug("Getting proxy list"
    17.  
    18.         r = requests.get("https://jsonblob.com/31bf2dc8-00e6-11e7-a0ba-e39b7fdbe78b", timeout=10) 
    19.  
    20.         proxies = ujson.decode(r.text) 
    21.  
    22.         logger.debug("Got %s proxies", len(proxies)) 
    23.  
    24.         self._proxies = list(map(lambda p: Proxy(p), proxies))  
    25.  
    26.  
    27.     def pick(self): 
    28.  
    29.         with self.lock: 
    30.  
    31.             self._proxies.sort(key = lambda p: p.score, reverse=True
    32.  
    33.             proxy_len = len(self._proxies) 
    34.  
    35.             max_range = 50 if proxy_len > 50 else proxy_len 
    36.  
    37.             proxy = self._proxies[random.randrange(1, max_range)] 
    38.  
    39.             proxy.used() 

        推荐阅读

        云端定价比较:AWS、Microsoft Azure、Google Cloud、IBM Cloud之间的对决

      开辟者大年夜赛路演 | 12月16日,技巧立异,北京不见不散因为重要的云供给商(AWS、Azure、谷歌和IBM)的云实例价格的持续降低,是以它们增长了扣头选项、增长了实例,并在某些情况下将计费增量降到了按秒>>>详细阅读


      本文标题:我是怎样爬下6万共享单车数据并进行分析的(附代码)

      地址:http://www.17bianji.com/lsqh/39482.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)