2016-06-29 5 views
-1

何かの理由で私はバックアップのウェブサイトにプロジェクトを持っています。 PythonでRequestsを使ってコンテンツと画像(URL)をクロールします。問題は、クラウドサービス(Googleドライブ、Dropboxなど)でその画像のURLを使用してクラウドに画像を保存するにはどうすればよいかです。Pythonを使用してインターネットイメージをクラウドに保存するクラウドAPIはありますか?

私は最初にイメージをローカルに保存してから、ローカルイメージをクラウドにアップロードする方法があることを知っています。しかし、ローカルファイルではなく、URLによる画像のアップロードをサポートするAPIがあるかどうかは疑問です。

答えて

0

あなたが保存のために払って気にしない場合は、独自のクラウドストレージに保存することができます。時折、同様のアクションを実行して、それを次のように処理する必要があります。

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 
関連する問題