搞了一个下午,记录一下备忘。
百度没有为Python开发官方的PCS-sdk。一开始使用了hdpfans论坛的jackyspy大大在kodi百度云插件中封装的pcsapi,木有文档。捣鼓了半天,无论是调用这个pcsapi,还是利用百度的rest api,均返回错误,可能是没有权限。
{"error_code":4,"error_msg":"No permission to do this operation","request_id":2294753058}
后来使用了latyas在github上开源的baidupcsapi,文档原本挂掉了,联系作者后他很认真地重做了。真感动,对于我这种菜鸟没文档根本无处着手。
然而latyas似乎采用的是模拟登陆的方式进行的开发,这就带来了验证码的问题。
在api中,如果不设置回调函数(其实我不知道什么叫做回调函数),PCS类会默认将jpeg文件二进制信息打印在命令行上,然后手动输入。
暂时不会解决验证码自动识别的问题,也许有库可以解决。我自定义了一个函数,将图片文件信息以二进制的方式写入一个jpg文件,打开肉眼识别后手动输入。
事实上短时间内只需要输入一次就够了。
解决了登陆问题,经过一连串的低级错误和不明所以的探索之后,终于成功调用了离线下载的方法。
将从www.zimuzu.com批量导出的电驴链接复制到txt文件中,调用readlines方法,加上循环,这些都是小学生都能做的事。
代码都还没整理,目前只能是一堆面向过程的玩意。