貝殼專案,上傳到cos

布都御魂發表於2024-07-16
import json

import requests
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
from quote import quote

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 '
                  '(KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36',
}
# 封裝ip代理
proxy = {}
# 連結cos
# 正常情況日誌級別使用 INFO,需要定位時可以修改為 DEBUG,此時 SDK 會列印和服務端的通訊資訊
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
secret_id = 'AKIDqp8dG1UxRj3PoDiIvdPF6yqibUZekBc3'
secret_key = "W2Y3Y4fHtU9reXbVbsFpWLHJWsNwt0Gb"
region = 'ap-beijing'
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key)
client = CosS3Client(config)

# bucket:COS 中用於儲存資料的容器
# data-crawler儲存桶屬於使用者ID為1325559378的使用者
# Object Content 是上傳檔案的二進位制內容
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import os
import logging

# 正常情況日誌級別使用 INFO,需要定位時可以修改為 DEBUG,此時 SDK 會列印和服務端的通訊資訊
logging.basicConfig(level=logging.INFO, stream=sys.stdout)

# 1. 設定使用者屬性, 包括 secret_id, secret_key, region等。Appid 已在 CosConfig 中移除,請在引數 Bucket 中帶上 Appid。Bucket 由 BucketName-Appid 組成
secret_id = 'AKIDqp8dG1UxRj3PoDiIvdPF6yqibUZekBc3'  # 使用者的 SecretId,建議使用子賬號金鑰,授權遵循最小許可權指引,降低使用風險。子賬號金鑰獲取可參見 https://cloud.tencent.com/document/product/598/37140
secret_key = "W2Y3Y4fHtU9reXbVbsFpWLHJWsNwt0Gb"  # 使用者的 SecretKey,建議使用子賬號金鑰,授權遵循最小許可權指引,降低使用風險。子賬號金鑰獲取可參見 https://cloud.tencent.com/document/product/598/37140
region = 'ap-beijing'  # 替換為使用者的 region,已建立桶歸屬的 region 可以在控制檯檢視,https://console.cloud.tencent.com/cos5/bucket
# COS 支援的所有 region 列表參見 https://cloud.tencent.com/document/product/436/6224
# token = None               # 如果使用永久金鑰不需要填入 token,如果使用臨時金鑰需要填入,臨時金鑰生成和使用指引參見 https://cloud.tencent.com/document/product/436/14048
# scheme = 'https'           # 指定使用 http/https 協議來訪問 COS,預設為 https,可不填

config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key)
client = CosS3Client(config)


def upload_cos(title, path, key):
    with open(path, 'rb') as fp:
        client.put_object(
            Bucket='data-crawler-1325559378',
            Body=fp,
            Key=key,
        )
        print(
            f'cos連結:\nhttps://data-crawler-1325559378.cos.ap-beijing.myqcloud.com/{key}')


if __name__ == '__main__':
    # 文章標題
    # title = '2024 年小學應屆畢業生證明'

    '''
    a.網頁端目錄命名: html/{網站英文名or縮寫or拼音}/{網頁title or其他可標識內容}.html
   b.影片: videos/{渠道(比如douyin)}/{title}.mp4
   c.圖片: IMG/{渠道}/{title}.jpg
   d.PDF: PDF/{渠道}/{title}.pdf
   e.excel: excel/{渠道}/{title}.xlsx
   f.json: json/{渠道}/{title}.json
    'cos_url': 'https://data-crawler-1325559378.cos.ap-beijing.myqcloud.com/json/240711/全國各省-城市-中學.json',

    '''
    title = '全國各省-城市-中學'
    # 上傳檔案位置
    path = f'./檔案/{title}.json'
    # 檔案型別/渠道名/標題.檔案字尾
    Key = f'json/240711/{title}.json'
    upload_cos(title, path, Key)

相關文章