在爬虫过程中,需要将图片或其他文件进行存储到云上,但在下载图片时,看官方文档,貌似需要先下载到后再上传又拍云,感觉效率很低下。经查找资料实现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 = [上传成功后会返回 [u'a319f9d4abc629001']], 表示上传成功
{
'url': img_url, # 需要拉取文件的 URL
'random': False, # 是否追加随机数, 默认 false
'overwrite': True, # 是否覆盖,默认 true
'save_as': '/text/0.jpg', # 保存路径
}
]
print up.put_tasks(fetch_tasks, notify_url, 'spiderman')注意:fetch_tasks 内可以多条进行上传,通过[{},{},{}]的方式然后在您的浏览器输入: 您又拍云的http地址 + save_as 的保存地址 进行测试查看是否上传成功参考GitHub文档:https://github.com/upyun/python-sdk参考upyun官方文档:http://docs.upyun.com/cloud/spider/