2012-03-05 13 views
1

私は現在Pythonをプログラミングしています(プログラミングの経験はありませんが、多くのシステム管理者、スクリプティングの経験があります)。サイトとすべての画像をつかむ。私はかなり苦労しましたが、私はそれをある程度まで働かせました。urllib.urlretreive画像を取得していますが、画像が壊れています

私の現在の問題は、urlib.urlretrieve(url、out_path)のようなURLをhttp://www.testsite.com/images/img.jpgとすると、うまく動作しますが、http://www.testsite.com/../images/img.jpgのようなものは動作しません。ブラウザでそのパスをたどるとうまく動作し、urllib.urlretrieveはイメージを取得しますが、イメージビューアで開こうとすると壊れてしまいます。これは、現在、私のコードです

http://pastebin.com/E9hutEGn - ペーストビンポスト申し訳ありませんが、コードが少しすぎだったと私はひどく読みポストを作りたくありませんでした。

なぜそれが機能していないのか分かりますか?

答えて

0

まず、ペーストビンは良いです(それを使った理由もあります)。

あなたの問題では、私は、パスの問題がベースURLに結合されている可能性があります。 私は例を挙げて説明しましょう:

>>>> import urlparse 
>>>> base="http://somesite.com/level1/" 
>>>> path="../page.html" 
>>>> urlparse.urljoin(base,path) 
> 'http://somesite.com/page.html' 

>>>> base="http://somesite.com/" 
>>>> urlparse.urljoin(base,path) 
> 'http://somesite.com/../page.html' 

はので、私はあなたが離れて取る必要があると思いますあなたの../手動

少し追加:私は周りの問題を検索し、あまりにも有用である可能性がthis postを発見しました。

+0

ありがとうございました!それはまさに私が必要としたものでした! –

関連する問題