# 前言
记录在 windows 下 OneDrive SharePoint 下载的两种办法 ,并且利用到 Aria2 下载器
油猴脚本 onedrive - 文件下载直链
python 脚本 OneDriveShareLinkPushAria2
# 启动 Aria2
Aria2 下载器
解压后获得 Aria2 的文件夹
免安装,直接执行 aria2.exe 文件
图形化界面 aria2Ng/index.html
踩坑
默认下载内容中有 torrent 种子文件时,会自动下载
不需要的话修改,修改配置文件 aria2.conf
当下载的是一个种子 (以.torrent 结尾) 时,自动开始 BT 任务,默认:true
follow-torrent=false
# 油猴脚本
- 首先要给浏览器安装一个的拓展程序 TamperMonkey Beta (油猴)
- 然后 Greasy Fork 脚本网站中找到 onedrive - 文件下载直链
使用方便,但是不能区分文件夹
onedrive - 文件下载直链
获得 OneDrive(Sharepoint,支持世纪互联) 文件下载直链的 TamperMonkey 插件。支持 IDM 批量下载、Aria2 推送下载
# python 脚本
OneDriveShareLinkPushAria2
ShareLink 分享的资源多,但是没法像百度网盘一样直接保存到自己的网盘中,下载内容多的时候也麻烦
这个脚本,通过把下载内容推送到 Aria2,并且包含目录层级
从 OneDrive 或 SharePoint 共享链接提取下载 URL 并将其推送到 aria2,即使在无图形界面的系统中 (如 Linux) 依然可以使用。
下载完成后,需要准备好 python 环境
具体使用就不介绍了,除了分享链接,都是使用默认配置
使用过程中 遇到下载的内容只有 507b
看 issues 是请求频繁问题
我是在推送之前增加了一秒延迟# todo
下就是我加的代码
大致在 main.py 的 326 行
import time | |
# 省略部分代码 | |
if i['FSObjType'] == "1": | |
# 省略部分代码 | |
else: | |
# todo | |
if fileCount + 1 == min(num): | |
time.sleep(1) | |
if fileCount > max(num): | |
break | |
if num == [0] or (isinstance(num, list) and fileCount in num): | |
# todo | |
time.sleep(1) | |
print("\t" * layers, "文件 [%d]:%s\t独特ID:%s\t正在推送" % | |
(fileCount, i['FileLeafRef'], i["UniqueId"])) | |
# 省略部分代码 | |
# exit(0) | |
else: | |
print("\t" * layers, "文件 [%d]:%s\t独特ID:%s\t非目标文件" % | |
(fileCount, i['FileLeafRef'], i["UniqueId"])) |