2016-08-20 53 views
-2

我是urllib包的新手。 我試圖下載網站上的所有圖片「http://www.girl-atlas.com/album/576545de58e039318beb37f6」 現在的問題是:當我複製圖片的網址,並將網址傳遞給瀏覽器時,我將收到一個錯誤「403 Forbidden」。但是,當我右鍵單擊瀏覽器中的圖像,並選擇在新窗口中打開圖像時,這一次,我將在新窗口中顯示圖像。 問題是:urlib如何模擬第二種方式?使用python urlib包下載鏡像時出現「403 Forbidden」

回答

1

禁止在瀏覽器之外使用URL。爲了確保這一點,瀏覽器始終會發送一個引用程序,即從中加載圖像的網站。如果瀏覽器是用Python編寫的,則看起來像這樣:

import urllib.request 

opener = urllib.request.URLopener() 
opener.addheader('Referer', 'http://www.girl-atlas.com/album/576545de58e039318beb37f6') 
image = opener.open('http://girlatlas.b0.upaiyun.com/41/20121222/234720feaa1fc912ba4e.jpg!lrg') 
data = image.read() 
image.close()