2017-11-25 21 views
0

약 1000 개의 파일/URL을 다운로드해야하므로 수동으로 다운로드하기가 어렵습니다. 루프 - 파이썬을 사용하여 URL/파일 목록 다운로드

나는 목록을 목록 및 루프의 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

당신은 카운터를 증가하지 않는다 - 당신이 Name을 설정 한 후 N += 1 추가 N

에 다시 저장하지 않고 하나를 추가 할 수 있습니다. 너 후에 :가 누락되었습니다.

나는 당신이 당신의 1000s URL을 가지고 있는지 확실히 모르겠다 - 나는 단지 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 개의 URL 만 추가했습니다. txt 파일에서 목록 요소를 읽는 간단한 방법이 있습니까? 오, 세상에, 나는 2 일 동안 내 코드와 그 슈퍼의 문제가 무엇인지 알아내는 데에 보냈다는 것을 상상할 수 없다! – saad

+0

* .gz 라인을 한 줄씩 읽으려면 [gzip 파일에서 읽기 라인] (https://stackoverflow.com/a/30868178/7505395)을보십시오. 이 질문에 대한 답변이 있으면 답변으로 표시하십시오. :) –

+0

@saad 죄송합니다, 마지막 코멘트에 이름을 남겨 주신 것을 잊어 버렸습니다. –