网络爬虫-上传爬虫文件至阿里云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)

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