天天看點

網絡爬蟲-上傳爬蟲檔案至阿裡雲OSS(以視訊/圖檔為例)OSS 的作用什麼是OSS如何用Python對接阿裡雲OSS-SDK?EndingGithub傳送門

OSS 的作用

這個OSS 存儲能夠幫助我們完成很多新的需求 , 如果你是土豪你可以把它當成一個網盤來使用,如果你是個後端開發者那麼恭喜你,你就相當于有了一台靜态資源伺服器 ! 你可以把圖檔以及靜态頁面放到這裡 ! 通過OSS擷取需要的資源,進而減少伺服器的IO操作~,不止如此,一些視訊類的網站還可以把需要保持的視訊存儲到這裡,OSS還為我們提供了很多圖檔處理API,包括防盜鍊、水印…

阿裡雲對象存儲OSS,主要是用于存儲靜态資源檔案,它提供了很多友善的操作圖檔的方法(縮放旋轉水印等),在實作了OSS的基礎上,我們也可以通過購買阿裡雲的CDN服務輕松的實作内容的分發 !

什麼是OSS

阿裡雲對象存儲服務(Object Storage Service,簡稱 OSS),是阿裡雲提供的海量、安全、低成本、高可靠的雲存儲服務。它具有與平台無關的RESTful API接口,能夠提供99.99999999%的服務持久性… 阿裡雲OSS詳細了解可以參考這個文檔 , 這裡主要介紹的是使用方式 !

想要使用OSS 存儲第一步,先購買阿裡雲的OSS存儲服務,現在有特惠 0.9元 兩年40G,當然如果還有更高需求的話那就自己看情況購買 !

網絡爬蟲-上傳爬蟲檔案至阿裡雲OSS(以視訊/圖檔為例)OSS 的作用什麼是OSS如何用Python對接阿裡雲OSS-SDK?EndingGithub傳送門

如何用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)

繼續閱讀