使用百度网盘上传数据到服务器上

本文介绍了如何在Ubuntu系统中安装和配置Python工具bypy,以便实现与百度网盘的无缝对接。通过授权登录后,可以创建文件夹,上传或下载数据,这对于无界面服务器的数据管理尤其有用。bypy允许用户方便地执行大文件的上传和下载操作,提供了一种有效备份和转移数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装环境

pip install requests && pip install bypy

在这里插入图片描述

二、登录百度网盘并授权

安装好之后,我们在终端中运行如下指令

bypy info

在这里插入图片描述

使用刚刚复制的链接打开网页后,点图中 复制授权码 复制好授权码之后,粘贴到刚才的终端窗口中,按回车确认。

在这里插入图片描述

在这里插入图片描述

这样我们就可以在百度网盘上看到我们创建的文件夹了

在这里插入图片描述

三、创建文件夹并上传或下载数据

我们可以创建一个专用的同步文件夹方便管理数据,在终端窗口中运行如下指令创建文件夹,并进入这个文件夹。

mkdir baiduwanpan
cd baiduwanpan/
  • 下载数据

我们打开我的应用数据->bypy这样就可以把数据存在网盘的这个位置
在这里插入图片描述

然后执行:

bypy -v downdir

就可以将数据下载到baiduwanpan文件夹下了

在这里插入图片描述

在这里插入图片描述

  • 上传数据
bypy -v upload

这里只是演示了在有界面的ubuntu18下操作,对于无界面的服务器上也同样适用。有时,我们会遇到直接上传文件过大,速度比较慢,采用这种方式,也是向服务器上传数据的一种方法。

参考连接:

如何使用百度网盘备份您的数据

### 关于百度网盘上传请求的方法 对于百度网盘的文件上传功能,主要通过API实现。具体来说,上传过程分为多个阶段,每个阶段对应不同的接口调用[^2]。 #### 接口概述 1. **初始化分片上传** 初始化分片上传用于创建一个新的上传任务,并返回该任务所需的临时凭证和其他必要信息。此操作通常涉及发送POST请求到特定端点并携带必要的身份验证参数。 2. **上传分片数据** 完成分片上传初始化之后,客户端可以开始逐个上传各个分片的数据。这一步骤同样依赖HTTP POST方法来传输实际二进制流给服务器。需要注意的是,在某些情况下可能需要调整官方文档给出的部分URL路径或者查询字符串以适应最新的服务变更。 3. **完成整个文件上传** 当所有预定大小的片段都已成功提交至云端存储后,则需执行最后一步——通知Baidu PCS API已完成全部内容传送。此时应构建一个包含所有先前获得响应中提到的关键字段(如slice_md5等)在内的JSON对象作为body部分的一部分向指定位置发起PUT或POST请求。 ```python import requests def init_slice_upload(): url = "https://pcs.baidu.com/rest/2.0/pcs/file" params = { 'method': 'upload', 'type': 'tmpfile', 'path': '/apps/myapp/test.txt', # 文件保存路径 'access_token': '<your_access_token>' } resp = requests.post(url, params=params) return resp.json() def upload_slices(uploadid, slice_data): url = f"https://c.pcs.baidu.com/rest/2.0/pcs/slice_upload?uploadid={uploadid}" files = {'file': ('blob', slice_data)} headers = {"Content-Type": "application/octet-stream"} resp = requests.put(url, headers=headers, files=files) return resp.json() def finish_upload(path, uploadid, block_list): url = "https://pcs.baidu.com/rest/2.0/pcs/file" params = { 'method': 'createsuperfile', 'param': '{"path":"%s","block_list":[%s],"isdir":false}' % (path, ','.join(f'"{item}"' for item in block_list)), 'access_token': '<your_access_token>' } resp = requests.post(url, params=params) return resp.json() ``` 上述代码展示了如何利用Python脚本与百度PCS RESTful APIs交互从而达成完整的文件上传流程。值得注意的是,为了简化示例,这里省略了一些细节处理逻辑以及异常捕获机制;在生产环境中应当更加严谨地对待这些方面[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值