2017-11-25 91 views
0

我需要下載大約1000個文件/網址,並且很難手動下載它們。使用循環下載網址/文件列表 - python

我試圖通過列表放在一個列表和循環的URL,但我覺得我的代碼覆蓋以前的文件,只保留最後一個項目在列表中

這裏是我的代碼

#!/usr/bin/env python 

import urllib3 
http = urllib3.PoolManager() 

urls = ["http://url1.nt.gz" , "http://url2.nt.gz" , "http://url3.nt.gz"] 
N =1; // counter helps me to rename the downloaded files 
print "downloading with urllib" 
for url in urls 
r = http.request('GET',url) 
Name =str(N+1) // each time increment the counter by one 
with open("file"+Name+".nt.gz", "wb") as fcont: 
       fcont.write(r.data) 

有什麼建議嗎?

回答

0

print "downloading with urllib" for url in urls r = http.request('GET',url) Name += N

1

你不遞增計數器 - 你加1,但不保存回N

設置Name後添加N += 1。在您之後您錯過了:

我不太確定你有幾千個網址 - 我只在urls看到3個。

#!/usr/bin/env python 

import urllib3 
http = urllib3.PoolManager() 

urls = ["http://url1.nt.gz" , "http://url2.nt.gz" , "http://url3.nt.gz"] 
N =1; // counter helps me to rename the downloaded files 
print "downloading with urllib" 
for url in urls: 
    r = http.request('GET',url) 
    Name =str(N+1) 
    N += 1 
    with open("file"+Name+".nt.gz", "wb") as fcont: 
     fcont.write(r.data) 
+0

謝謝!爲了簡單起見,我在列表中只添加了3個網址。有沒有簡單的方法來讀取txt文件中的列表元素?哦,我的上帝,我無法想象我花了兩天的時間搞清楚我的代碼有什麼問題,它的超級簡單! – saad

+0

看一下[從gzip文件讀取的行](https://stackoverflow.com/a/30868178/7505395),逐行讀取* .gz。標記爲答案,如果這個問題被回答:) –

+0

@saad對不起,忘了把你的名字加到最後的評論 –