2017-10-12 14 views
1

ウェブサイトに100回以上アクセスし、各アイテム間に小さな遅延を追加するスクリプトがあります。可能であれば、残ったアイテムのステータスや数を表示するカウントダウンやプロセスバーを追加することもできます。コード例は以下のとおりです。for-inループの一時停止を追加する

import pandas as pd 

urls = ['https://vpic.nhtsa.dot.gov/api/vehicles/GetModelsForMakeIdYear/makeId/440/vehicletype/car?format=csv', 
    'https://vpic.nhtsa.dot.gov/api/vehicles/GetModelsForMakeIdYear/makeId/441/vehicletype/car?format=csv', 
    'https://vpic.nhtsa.dot.gov/api/vehicles/GetModelsForMakeIdYear/makeId/442/vehicletype/car?format=csv', 
    'https://vpic.nhtsa.dot.gov/api/vehicles/GetModelsForMakeIdYear/makeId/443/vehicletype/car?format=csv', 
    'https://vpic.nhtsa.dot.gov/api/vehicles/GetModelsForMakeIdYear/makeId/445/vehicletype/car?format=csv', 
    'https://vpic.nhtsa.dot.gov/api/vehicles/GetModelsForMakeIdYear/makeId/448/vehicletype/car?format=csv']    


dfs = [pd.read_csv(url) for url in urls] 
df = pd.concat(dfs, ignore_index=True)                      
df.to_csv('foo.csv')                           
+0

読むカウントダウンバーのtqdm'と実行を懸濁するための '' time.sleep'について。 – user1190882

+0

好奇心 - なぜ一時停止を追加したいですか? – Parfait

+0

@Parfaitこのスクリプトを実行すると同じサーバーにアクセスするので、非常に多くのサーバー要求があってもすぐにサーバーはブロックします。 –

答えて

3
import time 
dfs = [] 
num = len(urls) 
for i, url in enumerate(urls): 
    dfs.append(pd.read_csv(url)) 
    print 'Process {}, {} left'.format(i+1, num-i-1) 
    time.sleep(2) 
+0

恐ろしい!完璧に動作します! –

+0

@KyleRichards :) – galaxyan

関連する問題