Python使用又拍云进行第三方文件拉取

在爬虫过程中,需要将图片或其他文件进行存储到云上,但在下载图片时,看官方文档,貌似需要先下载到后再上传又拍云,感觉效率很低下。经查找资料实现Python直接对第三方资源进行文件拉取操作,即不需要下载到本地,代码如下:

 

import upyun
up = upyun.UpYun('xxxxx', 'xxxxx', 'xxxxx')  # 您又拍云登录信息
img_url = 'https://desk-fd.zol-img.com.cn/t_s1144x1190c5/g5/M00/04/0C/ChMkJlYzFaeIX4_zAAP4WqNwUMMAAESqgI3OA8AA_hy369.jpg'  # 需要拉取的url
notify_url = 'http://httpbin.org/post' # 回调地址
fetch_tasks = [
{
'url': img_url, # 需要拉取文件的 URL
'random': False, # 是否追加随机数, 默认 false
'overwrite': True, # 是否覆盖,默认 true
'save_as': '/text/0.jpg', # 保存路径
}
]

print up.put_tasks(fetch_tasks, notify_url, 'spiderman')
上传成功后会返回 [u'a319f9d4abc629001']], 表示上传成功
注意:
fetch_tasks 内可以多条进行上传,通过[{},{},{}]的方式
然后在您的浏览器输入: 您又拍云的http地址 + save_as 的保存地址 进行测试查看是否上传成功

参考GitHub文档:https://github.com/upyun/python-sdk
参考upyun官方文档:http://docs.upyun.com/cloud/spider/
posted @ 2018-03-23 17:01  python许三多  阅读(543)  评论(0编辑  收藏  举报