使用Python脚本下载yandex云盘链接中的内容

前言

在下载yandex disk云盘中其他人分享的一些内容时,正常情况下点击下载按钮即可。但是很多时候需要在没有图形界面的Linux机器上下载或者批量下载一批链接,这个时候需要使用脚本方式下载。

在这里插入图片描述

方法

根据yandex disk的文件链接规则,编写相应的Python脚本(见参考资料[3]),执行脚本自动下载。

Python脚本yandex_dl.py:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# chmod +x yandex_dl.py
# python yandex_dl.py yandexdisk_download_url path/to/directory

import os, sys, json
import urllib.parse as ul

sys.argv.append('.') if len(sys.argv) == 2 else None

base_url = 'https://cloud-api.yandex.net:443/v1/disk/public/resources/download?public_key='
url = ul.quote_plus(sys.argv[1])
folder = sys.argv[2]
res = os.popen('wget -qO - {}{}'.format(base_url, url)).read()
json_res = json.loads(res)
filename = ul.parse_qs(ul.urlparse(json_res['href']).query)['filename'][0]
os.system("wget '{}' -P '{}' -O '{}'".format(json_res['href'], folder, filename))

使用

例如需要下载链接“https://disk.yandex.com/d/5VdqLARizmnj3Q”中的内容,则需要执行:

python yandex_dl.py https://disk.yandex.com/d/5VdqLARizmnj3Q .

则会将文件保存至当前路径。也可以将上述命令中的 . 替换为其他路径。

在这里插入图片描述
在这里插入图片描述

参考资料

[1] Yandex.Disk
[2] Yandex.Disk Doc - Downloading a file from Yandex.Disk
[3] GitHub - Yegorov/ya.py - Download file from Yandex.Disk through share link
[4] GitHub - Yegorov/yadisk
[5] yandex disk云盘文件下载Python脚本yandex_dl.py

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TracelessLe

❀点个赞加个关注再走吧❀

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值