Python3爬蟲 - 下載反盜鏈圖片的方式

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

發佈了165 篇原創文章 · 獲贊 268 · 訪問量 66萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章