urllibとpythonを介して画像をダウンロードする

| | | | | | | | | | | | | | | | | | |

それで、私はウェブコミックをダウンロードしてデスクトップ上のフォルダに入れるPythonスクリプトを作成しようとしています。ここで、似たようなことをする似たようなプログラムをいくつか見つけましたが、必要なものとはまったく似ていません。私が最も似ていると思ったのはここです( http: //bytes.com/topic/python/answers/850927-problem-using-urllib-download-images )。次のコードを使用してみました:

 >>> urllibをインポート>>> image = urllib.URLopener()>>> image.retrieve( "http://www.gunnerkrigg.com//comics/00000001.jpg"; "00000001.jpg")( "00000001.jpg"、< httplib.HTTPMessage instance at 0x1457a80>) 

次に、コンピュータで「00000001.jpg」ファイルを検索しましたが、見つかったのはそのキャッシュされた画像だけでした。ファイルがコンピュータに保存されたかどうかさえわかりません。ファイルをダウンロードする方法を理解したら、残りの処理方法を知っていると思います。基本的には、forループを使用して、文字列を「00000000」で分割します。 「jpg」を入力し、「00000000」を最大数までインクリメントします。これは、どういうわけか決定する必要があります。これを行うための最善の方法や、ファイルを正しくダウンロードする方法についての推奨事項はありますか?

ありがとうございます!

編集6/15/10

これが完成したスクリプトです。選択した任意のディレクトリにファイルを保存します。奇妙な理由で、ファイルはダウンロードされず、ダウンロードされただけです。 。それをクリーンアップする方法についての提案をいただければ幸いです。私は現在、サイトに多くのコミックが存在することを確認する方法を検討しているので、特定の数の例外が発生した後にプログラムを終了させるのではなく、最新のコミックだけを入手できます。

  import urllib import os combicCounter = len(os.listdir( "/ file"))+ 1#次のコミックでダウンロードを開始するフォルダー内のファイル数を読み取りますerrorCount = 0 def download_comic(url、comicName): "" " url=http://www.example.comの形式でコミックをダウンロードcomicName="00000000.jpg" "" "image = urllib.URLopener()image.retrieve(url、comicName)#comicCounter中にURLでcomicNameをダウンロード< = 1000:#最も洗練されたソリューションではありませんos.chdir( "/ file")#ファイルをダウンロードする場所を設定します:if combicCounter< 10:#コミック名はゼロの後に数字が続くcomicNumber=str( "0000000" + str(comicCounter))#8桁のコミック番号を含む文字列comicName = str(comicNumber + "。jpg")#ファイル名を含む文字列url = str( "http:/ /www.gu nnerkrigg.com//comics/"+comicName)#コミックのURLを作成comicCounter + = 1#次のコミックに移動するためにコミックカウンターをインクリメントします。ダウンロードで例外が発生した場合に備えて、ダウンロードの前に行う必要がありますdownload_comic(url、comicName )#10< = combicCounter<の場合、上記で定義した関数を使用してコミックプリントのURLをダウンロードします。 100:comicNumber = str( "000000" + str(comicCounter))comicName = str(comicNumber + "。jpg")url = str( "http://www.gunnerkrigg.com//comics/"+comicName)comicCounter + = 1 download_comic(url、comicName)100の場合はURLを出力< = comicCounter< 1000:comicNumber = str( "00000" + str(comicCounter))comicName = str(comicNumber + "。jpg")url = str( "http://www.gunnerkrigg.com//comics/"+comicName)comicCounter + = 1 download_comic(url、comicName)print url else:#この範囲外の数値が表示された場合はプログラムを終了します。ただし、IOErrorを除きます。 errorCount> 3の場合のエラーカウント:#ダウンロード中に3つ以上のエラーが発生した場合は、プログラムブレークを終了しますelse:print str( "comic" + "" + str(comicCounter)+ "" + "does not present")#それ以外の場合特定の漫画番号が存在しないと言う印刷「すべての漫画が最新である」#すべての漫画がダウンロードされた場合に印刷