2017-10-18 13 views
1

私の仕事でwgetライブラリをインストールできないので、txtファイルにリストされたURLを使ってファイルをダウンロードするための回避策が必要です。 urls.txtと呼ばれるtxtファイルがあります。このファイルには、ダウンロードする必要のあるファイルを指し示す約1,000のリンクが含まれています。これまでのところ、私はこのようなことをしていますが、残念ながらスクリプトは実行されていますが、ファイルをダウンロードしていません。wgetを使わずにtxtファイルにリストされたURLからファイルをダウンロードする

import urllib.request 

with open("urls.txt", "r") as file: 
    linkList = file.readlines() 
for link in linkList: 
    urllib.request.urlretrieve(link) 

答えて

1

二番目の引数は、存在する場合、docsから

(存在しない場合は、位置が生成された名前を持つ一時ファイルであろう)にコピーするファイルの場所を指定します。

あなたがそうのようにファイルの内容をダウンロードするためにどのファイルパスを参照する第二引数を指定する必要があります:

... 
for link in linkList: 
    urllib.request.urlretrieve(link, link.split('/')[-1]) 

現状では

は、あなたが持つ一時ファイルにダウンロードしています生成された名前。私はその名前をどのように取得するのかを100%確信しているわけではないので、ファイルパスを自分で指定するのが最善です。 [OK]を

+0

私のURLのアドレスが/DocumentXML2XLSDownload.vm?firsttime=true&repengback=true&documentId=XXXXXX&xslFileName=rher2xml.xsl&outputFileName=XXXX_2017_06_25_4.xlsのようなものであると私はすべてのファイルが最後の部分「XXXX_2017_06_25_4.xls」にちなんで命名して置くことにしたいので、スクリプトのディレクトリに保存します。それについて私はどのように進めるべきですか?私はPythonに全く慣れず、どのフレーズが何を意味するのか把握しようとしています。 – Seidhe

+0

これは別の質問です。 URLクエリ文字列を解析する方法を知りたいとします。 Googleはこれを巡り、運がない場合は新しい質問を投稿して私を突きつけ、別の答えを書き留めます。 –

+0

@Seidheここでファイル名を取得する方法は、@AdamBarnesが使用したものと似ています: 'linkFileName( 'outputFileName =')[ - 1]'これはリンクを2つの部分に分割します 'outputFileName = "最後の部分(' [-1] ')があなたのファイル名になります。それほどハッキリしない方法は、実際に言及されたようにURL解析に掘り下げることです。 – jadsq

関連する問題