是否有任何云API可以使用Python将互联网图像保存到云



由于某些原因,我手头有一个备份网站的项目。我在Python中使用请求来抓取内容和图像(url)。问题是,我如何保存图像在云中,通过使用该图像的url,在云服务(谷歌驱动器,Dropbox等)。

我知道有一种方法可以先将图像保存在本地,然后将本地图像上传到云。但我想知道是否有api支持通过url上传图像,而不是本地文件。

似乎Dropbox有一个叫做/save_url的功能

允许应用程序开发人员通过提供URL将文件上传到Dropbox,而无需先下载文件。

https://www.dropbox.com/developers-v1/core/docs save-url

如果您不介意支付存储费用,您可以将其保存到您自己的云存储中。我偶尔需要做一个类似的操作,并像这样处理它:

def on_upload_image(self):
  url = self.request.get('url')
  result = urlfetch.fetch(url)
  binary = result.content
  blob_key = functions.get_blob_key_by_data(binary)
  self.url = images.get_serving_url(blob_key, secure_url=True)
  self.json()
from google.appengine.api import app_identity
def get_blob_key_by_data(data):
  bucket = app_identity.get_default_gcs_bucket_name()
  filename = hashlib.sha256(data).hexdigest()
  mime_type = get_mime_type(data)
  if not mime_type:
    return None
  gcs_filename = '/%s/image_%s' % (bucket, filename)
  with gcs.open(gcs_filename, 'w', content_type=mime_type) as f:
    f.write(data)
  blob_key = blobstore.create_gs_key("/gs" + gcs_filename)
  return blob_key

最新更新