網絡爬蟲-上傳爬蟲文件至阿里雲OSS(以視頻/圖片爲例)

OSS 的作用

這個OSS 存儲能夠幫助我們完成很多新的需求 , 如果你是土豪你可以把它當成一個網盤來使用,如果你是個後端開發者那麼恭喜你,你就相當於有了一臺靜態資源服務器 ! 你可以把圖片以及靜態頁面放到這裏 ! 通過OSS獲取需要的資源,從而減少服務器的IO操作~,不止如此,一些視頻類的網站還可以把需要保持的視頻存儲到這裏,OSS還爲我們提供了很多圖片處理API,包括防盜鏈、水印…
阿里雲對象存儲OSS,主要是用於存儲靜態資源文件,它提供了很多方便的操作圖片的方法(縮放旋轉水印等),在實現了OSS的基礎上,我們也可以通過購買阿里雲的CDN服務輕鬆的實現內容的分發 !

什麼是OSS

阿里雲對象存儲服務(Object Storage Service,簡稱 OSS),是阿里雲提供的海量、安全、低成本、高可靠的雲存儲服務。它具有與平臺無關的RESTful API接口,能夠提供99.99999999%的服務持久性… 阿里雲OSS詳細瞭解可以參考這個文檔 , 這裏主要介紹的是使用方式 !
想要使用OSS 存儲第一步,先購買阿里雲的OSS存儲服務,現在有特惠 0.9元 兩年40G,當然如果還有更高需求的話那就自己看情況購買 !

在這裏插入圖片描述

如何用Python對接阿里雲OSS-SDK?

阿里雲sdk傳送門 --> 阿里雲python-sdk

如何在項目中調用?可以參考我下面的python代碼。

安裝SDK以及讓 HTTP 服務人類的requests庫(爲了傳輸網絡鏈接)

pip install oss2
pip install requests 

詳情代碼塊

# -*- coding: utf-8 -*-
import os
import time
import requests
import oss2


def put_to_oss(name, link):
    # # 阿里雲主賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建並使用RAM賬號進行API訪問或日常運維,請登錄 https://ram.console.aliyun.com 創建RAM賬號。
    auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
    # Endpoint以杭州爲例,其它Region請按實際情況填寫。
    bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')
    input = requests.get(link)
    if '.jpg' in link or '.png' in link:
    	# <yourObjectName>
        bucket.put_object('cgwas/cloud/images/{}'.format(name), input)
    else:
        # <yourObjectName>
        bucket.put_object('cgwas/fileyunketang/{}'.format(name), input)
    print('上傳成功')
    time.sleep(3)
    # 設置此簽名URL在24小時內有效。
    if '.jpg' in link or '.png' in link:
        # <yourObjectName>
        url = bucket.sign_url('GET', 'cgwas/cloud/images/{}'.format(name), 60 * 60 * 24)
    else:
        # <yourObjectName>
        url = bucket.sign_url('GET', 'cgwas/fileyunketang/{}'.format(name), 60 * 60 * 24)
    return url


if __name__ == '__main__':
    print(put_to_oss('1558689231407.zip'))

該函數是將網絡鏈接上傳至阿里雲OSS並得到其外部鏈接(24小時內有效),其他還有通過上傳本地文件,上傳byte等等方式,可以參考python-sdk。


Ending

Github傳送門

持續更新ing (歡迎各種star與fork)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章