def pick_proxies(proxy_list, test_url, timeout):
'''
????????????????????????
'''
proxy_num = len(proxy_list)
# ????
pool = Pool(16) # ?????
kwargs = [{'test_url': test_url, 'proxy': proxy, 'timeout': timeout} for proxy in proxy_list] # ????
response_time_list = pool.map(multi_test_wrapper, kwargs) # ????
# ????????
map_list = [] # (????, ????)?????????????????????
for i in xrange(proxy_num):
if response_time_list[i] < timeout:
map_list.append((i, response_time_list[i]))
# ???????
# map_list = sorted(map_list, key=lambda d: d[1])
# ?????????
new_proxy_list = []
for map_ in map_list:
new_proxy_list.append(proxy_list[map_[0]])
# print proxies_list[map_[0]], map_[1], '?'
return new_proxy_list
评论列表
文章目录