1 第一種方式:爲Headers添加Referer字段
下載反盜鏈圖片時,Headers除了必備的User-Agent字段之外,還需添加Referer字段,該字段爲當前圖片所在的頁面鏈接。
1.1 在headers未加入Referer字段時
運行以下代碼:
import requests
# 圖片地址
url = 'https://stubbornhuangcomwordpressmedialibrary.oss-cn-shenzhen.aliyuncs.com/WordpressMediaLibrary/2019/12/201912260937073.png'
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}
reponse = requests.get(url,headers=headers)
print(reponse.status_code)
with open("1.jpg","wb")as f:
f.write(reponse.content)
reponse.close()
這是下載我個人站的圖片,但是我在阿里OSS中配置了圖片反盜鏈,所以如果我們以這種形式去下載圖片,最後的響應代碼一般都是403,這就是因爲該資源進行了反盜鏈,那麼自然圖片也是無法下載成功的。
1.2 反盜鏈手段:在headers加入Referer字段,且該Referer字段對應的值爲該資源的web頁面鏈接時
運行以下代碼:
import requests
# 圖片地址
url = 'https://stubbornhuangcomwordpressmedialibrary.oss-cn-shenzhen.aliyuncs.com/WordpressMediaLibrary/2019/12/201912260937073.png'
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0',
'Referer':'https://www.stubbornhuang.com/532/'
}
reponse = requests.get(url,headers=headers)
print(reponse.status_code)
with open("1.jpg","wb")as f:
f.write(reponse.content)
reponse.close()
結果發現,請求響應代碼爲200,說明我們請求成功,成功下載到了資源。
更多幹貨內容請訪問:www.stubbornhuang.com