最近闲来无事跟朋友商量做个导购小程序,于是一拍即合。导购必然要上传维护自己的商品,人懒嫌麻烦,于是想着干脆用爬虫得了。商品信息不用自己维护。后台python+java。用crontab配置了定时任务,每两个小时爬一下各大购物平台。接口api用java实现的,python速度太慢。爬虫当然是用python写的。把价格和销量筛选一下,直接入库。借助python神力一下午搞定。不用维护简单又省心。由于小程序不能引用外部图片链接,服务器的宽带直接影响了图片的展示。本人双十一600多块钱三年的服务器,实在是带不动啊。怎么办呢,。肯定上对象存储阿,正好最近cos有活动。
一块钱半年太良心了,附上购买地址给兄弟们:https://cloud.tencent.com/act/event/CDN-COS?from=12269
好了接下来开始我们的免费之旅。保证不再让你多花一分冤枉钱。先来搞一个免费https证书吧。(小程序所有的链接必须是https的哦)。直接来个免费的就好。
附上地址:https://buy.cloud.tencent.com/ssl?fromSource=ssl
按步骤操作就可以了,申请一个image子域名的ssl证书。按照帮助文档,选择手动验证,在nginx静态映射一下fileauth.txt
文件,分配到路径 /.well-known/pki-validation,等待几分钟,证书就颁发了。颁发之后就可以把fileauth.txt删除了。
ssl证书搞定。
再来看一下怎么将图片上传到cos呢。借助python只需要几行代码,将网上的图片存到我的数据库里。
直接上代码
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import requests as r;
def upload_pic(self,picUrl):
secret_id = '###########' # 替换为自己的 secretId
secret_key = '###########' # 替换为自己的 secretKey
region = 'ap-beijing' #看你服务器在哪里,找到对应的region
token = None # 使用临时密钥需要传入 Token,默认为空,可不填
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
stream = r.get(picUrl) #转换流
pakname = time.strftime('%Y%m%d', time.localtime(time.time()))#创建cos文件夹
imgname = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time())) #创建图片名称
key = pakname+'/'+imgname+'.jpg'
# 网络流将以 Transfer-Encoding:chunked 的方式传输到 COS
response = self.client.put_object(
Bucket='##-###', #你的Bucket
Body=stream,
Key=key
)
return 'https://image.xingyitv.com/'+key
接下来给cos装上我们的ssl证书。首先你nginx要支持ssl哦,不支持的话,从nginx原文件重新make一下,把nginx替换一下就好了。接下来看是我nginx里的配置
server {
listen 443 ssl;
server_name image.***.com;
ssl on;
ssl_certificate /usr/local/nginx/conf/1_image.xingyitv.com_bundle.crt; #ssl颁发的crt
ssl_certificate_key /usr/local/nginx/conf/2_image.xingyitv.com.key; #ssl颁发的key
error_log logs/image.xingyitv.com.error_log;
access_log logs/image.xingyitv.com.access_log;
location / {
root /data/www/;
proxy_pass http://**-***.cos.ap-beijing.myqcloud.com; //配置存储桶(Bucket)的默认下载域名
}
}
搞定。重启nginx就可以了。
最后附上我小程序的连接,朋友们可以关注一下。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。