2012-03-05 48 views
1

我目前正在教自己的python(來自沒有編程背景,但很多系統管理員,腳本經驗),並已創建一個腳本/程序,看看並抓住所有的圖像。我掙扎了很多,但我已經在一定程度上發揮了作用。urllib.urlretreive獲取圖像,但圖像被破壞

現在,我目前的問題是,當我做一個像url:http://www.testsite.com/images/img.jpg urllib.urlretrieve(url,out_path) - 它工作正常,但像http://www.testsite.com/../images/img.jpg不起作用。當你在瀏覽器中點擊該路徑時,它可以正常工作,urllib.urlretrieve會檢索圖像,但當您嘗試在圖像查看器中打開圖像時,它會被破壞。

這是目前我的代碼:

http://pastebin.com/E9hutEGn - 遺憾的引擎收錄後,該代碼是有點太多了,我不想做不好閱讀帖子。

任何人都可以識別它爲什麼不工作?

回答

0

首先,pastebin很好(也是你使用它的一個很好的理由)。

對於你的問題,我認爲這可能是一個問題的基礎網址加入的路徑。 讓我用一個例子解釋:

>>>> 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

非常感謝!這正是我所需要的! – 2012-03-07 15:27:11