白日梦观察 - 调用
type: channel
link: https://blog.angustar.com/tag/调用/
items: 定时保存 Bing 每日壁纸到本地和腾讯云 COS

定时保存 Bing 每日壁纸到本地和腾讯云 COS
type: item
date: 2021-08-12T17:33:00+08:00
description: [scode type="green"] BingWallpaper2COS：定时保存 Bing 每日壁纸（国内版+国际版）到本地，并上传到腾讯云 COS 中以便后续调用。 项目地址：[button color="success" icon="github" url="https:\/\/github.com\/angustar/BingWallpaper2COS" type=""]GitHub[/button] [button color="success" icon="code" url="https:\/\/gitee.com\/angustar/BingWallpaper2COS" type=""]Gitee[/button] [/scode] 本项目基于 Python + PHP，旨在帮助用户自动、高效地在本地和腾讯云 COS 中储存 Bing 每日壁纸，并提供用于随机调用图片的 API 。 由于 Bing 国内版和国际版的壁纸不尽相同，项目对此作出区分，将 Bing 国内版和国际版的每日壁纸存储在不同的文件夹，同时，为了保证日期的完整性，项目不对壁纸做去重处理。国内版和国际版均保留分辨率为1920x1080的版本和 UHD 版本，其中，UHD 版本分辨率不定，但要高于1920x1080。 项目主要可以实现以下功能： 保存当日的 Bing 壁纸至本地，包括分辨率为1920x1080的版本和 UHD 版本； 将分辨率为1920x1080的版本上传至腾讯云 COS，并获得图片的访问地址，可用于网站背景图等； 将相关信息写入数据库，以便后续读取； 访问myexample.com/BingWallpaper2COS时可以随机返回一张分辨率为1920x1080的图片。 部署 下载项目并进入项目文件夹： cd /www/wwwroot/myexample.com # 根据实际情况修改路径 git clone https://github.com/angustar/BingWallpaper2COS.git cd BingWallpaper2COS 安装 Python 相关依赖： pip3 install -r requirements.txt 根据configs-sample.py生成configs.py，并依据实际情况修改configs.py的相关配置： cp configs-sample.py configs.py configs.py示例如下： # -*- coding: UTF-8 -*- from qcloud_cos import CosConfig from qcloud_cos import CosS3Client from qcloud_cos import CosServiceError from qcloud_cos import CosClientError import sys import logging # 腾讯云COS配置信息 secret_id = '************************************' # 替换为用户的secret_id secret_key = '********************************' # 替换为用户的secret_key region = 'ap-shanghai' # 替换为用户的region，例如：ap-shanghai token = None # 使用临时密钥需要传入Token，默认为空,可不填 domain = None # COS的自定义源站域名或自定义CDN加速域名,结尾不要加"/", 如果使用全球加速域名, 则设置成对应的域名 Bucket = 'BucketName-APPID' # Bucket 由 BucketName-APPID 组成 # Server酱·Turbo版配置信息，用于程序执行错误时向用户发送通知 SendKey = '*********************************' 设置定时执行main.py，可以在宝塔面板的计划任务中添加一个定时任务，任务类型设定为Shell脚本，执行周期自定，每日定时执行一次即可，脚本内容如下： # 根据实际情况修改路径 cd /www/wwwroot/myexample.com/BingWallpaper2COS python3 /www/wwwroot/myexample.com/BingWallpaper2COS/main.py 项目在首次运行成功后会自动生成Bing.db数据库文件以及BingWallpaper文件夹 ，此时本地项目的目录结构应如下所示： │ Bing.db │ configs.py │ index.php │ main.…