2017-03-04 12 views
0

mp3には2つの異なるURLからアクセスできます。私はPythonを使ってどのURLが最も速くダウンロードされているか把握しようとしています...?Pythonを使って、mp3がどれくらいの時間ウェブサイトからダウンロードするのに時間をかけることができますか?

例えば、https://cpx.podbean.com/mf/download/a6bxxa/LAF_15min_044_mindfulness.mp3がどれくらいの時間ダウンロードしてそれをどれくらいの時間ダウンロードするのに時間を合わせたいのですか?http://cpx.podbean.com/mf/play/a6bxxa/LAF_15min_044_mindfulness.mp3がダウンロードにかかる時間を比較します。

私は現在使用しているmp3ダウンロードするには: urllib.request.urlretrieve(mp3_url、mp3_filename)

+0

@Carcigenicate非常に有用ではないがどのように時間がどのくらいダウンロード... – crookedleaf

答えて

2

あなたは、本質的に何か行うことができます:

from datetime import datetime 
starttime = datetime.now() 
urllib.request.urlretrieve(mp3_url, mp3_filename) # Whatever code you're using... 
finishtime = datetime.now() 

runtime = finishtime - starttime 
print str(runtime) 

をこれは0:03:19.356798ようなタイムスタンプを印刷します[hours]:[seconds]:[seconds.micro seconds]

私の悪い...私はあなたがどのリンクが最も速かったかを理解しようとしているのを理解していません。私はあなたのmp3_urlmp3_filename要素を格納しているか見当もつかないが、このような何か(それに応じて調整)してみてください:彼は求めていますので、コメントの

from datetime import datetime 

mp3_list = { 
    'file1.mp3': 'http://www.url1.com', 
    'file2.mp3': 'http://www.url2.com', 
    'file3.mp3': 'http://www.url3.com', 
} 

runtimes = [] 

for mp3_url, mp3_filename in mp3_list.items(): # i'm not sure how or where you are storing mp3_url or mp3_filename, so you'll have to modify this line accordingly... 
    starttime = datetime.now() 
    urllib.request.urlretrieve(mp3_url, mp3_filename) # Whatever code you're using... 
    finishtime = datetime.now() 
    runtime = finishtime - starttime 
    runtimes.append({'runtime': runtime, 'url': mp3_url, 'filename': mp3_filename}) 

fastest_mp3_url = sorted(runtimes, key=lambda k: k['runtime'])[0]['url'] 
fastest_mp3_filename = sorted(runtimes, key=lambda k: k['runtime'])[0]['filename'] 

print fastest_mp3_url 
print fastest_mp3_filename 
+1

または単に 'time.time'をとります。それとも 'timeit'モジュールを使うのが良いでしょう。 –

+0

@ juanpa.arrivillaga私はtimeitモジュールでそれをしようとしましたが、私は運がありません...あなたは私にこのような状況でtimeitを使用する方法の例を教えてください。 – Alex

関連する問題