技术背景

做开源项目的时候,尤其是现在的数据量越来越大,经常会面临到数据往哪里存放的问题。因为自己刚好有一个某度云的会员,看了一下还有几十个TB的空间还没用上。于是考虑把这个网盘变成一个定向共享数据的平台,当然,传输文件容易,为了更加方便使用,需要从Linux平台上直接下载这些共享文件就最好了。

上传文件到网盘

首先在主页面上创建一个新的目录,找到上传按钮:

将所需共享的文件传到这个目录下:

传输完成:

共享文件

当鼠标移动到相应的文件上面时,点击共享小图标,选择永久有效的链接分享。为了避免文件下载被滥用,最好加上一个密码:

然后就可以分享链接:

我们记得需要把页面上的这个链接保存下来。

https://pan.baidu.com/s/1PTORWTa07OQDLpXgc0XS7Q?pwd=abcd

如果不嫌麻烦,也可以把整串的字符串发给别人让别人手动下载:

链接: https://pan.baidu.com/s/1PTORWTa07OQDLpXgc0XS7Q?pwd=abcd 提取码: abcd 复制这段内容后打开百度网盘手机App,操作更方便哦
--来自百度网盘超级会员v6的分享

但是本着程序猿的心态,能自动就不手动,wget命令给我们提供了这样一个脚本自动下载的选项。

wget下载网盘文件

首先看一下wget下载网盘文件的命令行格式:

wget -c --referer=https://link1 -O filename "https://link2"

其中需要用到两个链接,第一个链接用的就是上一步我们保存的,带有提取码的那个链接。而第二个链接,需要通过浏览器解析下载链接来获得。首先在网盘页面里面找到需要用wget下载的文件,点击下载。然后进入到浏览器的下载管理界面,一般用ctrl+j的快捷键可以直接进入到下载界面,然后将鼠标挪到对应文件上面的https那一行:

右键,选择复制下载链接,然后就会得到这样的一大串的字符串:

https://xafj-ct11.baidupcs.com/file/06177e3c0pa3770a0c332f898ab41c49?bkt=en-1d4f88d1767dc1375afb7733549ee1379e6e9003942413d289bf5118003b362c09e117258022dcc515d9ede26038254097199ebf029b6e681df3802c307ab0e0&fid=967557698-250528-846865290141541&time=1706259163&sign=FDTAXUbGERQlBHSKfWqiu-DCb740ccc5511e5e8fedcff06b081203-z1j3G7%2F2hC9Z3ytahqmaz1bb%2FCA%3D&to=417&size=62394&sta_dx=62394&sta_cs=0&sta_ft=png&sta_ct=0&sta_mt=0&fm2=MH%2CXian%2CAnywhere%2C%2C%E5%B9%BF%E4%B8%9C%2Cct&ctime=1706258856&mtime=1706258856&resv0=-1&resv1=0&resv2=rlim&resv3=5&resv4=62394&vuk=967557698&iv=2&htype=&randtype=&tkbind_id=0&newver=1&newfm=1&secfm=1&flow_ver=3&pkey=en-bb4c93b4ecd5168d20122d4bf363501ad65b5c98f24b1ed5937695c9724059823e0ed169983a1002e6edc1d400fa1c97d77066d1e5128c43305a5e1275657320&expires=8h&rt=sh&r=307230644&vbdid=3102369438&fin=resolutions1.png&fn=resolutions1.png&rtype=1&dp-logid=8666582024145371477&dp-callid=0.1&hps=1&tsl=0&csl=0&fsl=-1&csign=233UgcuF7Q4Ii7gcfO4CbWvFTvk%3D&so=0&ut=1&uter=4&serv=0&uc=2415001276&ti=05df9239daa40647f5c4859715e42a25f70c977995285b90&hflag=30&from_type=1&adg=c_384dcd1e4c95d1375f21f0d922f55368&reqlabel=250528_f_c3591ac93a3dd9bf0ff819f2b5fb0cc1_-1_40c5c25ca3c3f111f69a72c03c9571d9&fpath=Share_20240126_164651&by=themis&resvsflag=1-0-0-1-1-1

我们把它放到前面的双引号里面就可以了,得到的完整的命令行如下:

$ wget -c --referer=https://pan.baidu.com/s/1PTORWTa07OQDLpXgc0XS7Q?pwd=abcd -O custum_file.png "https://xafj-ct11.baidupcs.com/file/06177e3c0pa3770a0c332f898ab41c49?bkt=en-1d4f88d1767dc1375afb7733549ee1379e6e9003942413d289bf5118003b362c09e117258022dcc515d9ede26038254097199ebf029b6e681df3802c307ab0e0&fid=967557698-250528-846865290141541&time=1706259163&sign=FDTAXUbGERQlBHSKfWqiu-DCb740ccc5511e5e8fedcff06b081203-z1j3G7%2F2hC9Z3ytahqmaz1bb%2FCA%3D&to=417&size=62394&sta_dx=62394&sta_cs=0&sta_ft=png&sta_ct=0&sta_mt=0&fm2=MH%2CXian%2CAnywhere%2C%2C%E5%B9%BF%E4%B8%9C%2Cct&ctime=1706258856&mtime=1706258856&resv0=-1&resv1=0&resv2=rlim&resv3=5&resv4=62394&vuk=967557698&iv=2&htype=&randtype=&tkbind_id=0&newver=1&newfm=1&secfm=1&flow_ver=3&pkey=en-bb4c93b4ecd5168d20122d4bf363501ad65b5c98f24b1ed5937695c9724059823e0ed169983a1002e6edc1d400fa1c97d77066d1e5128c43305a5e1275657320&expires=8h&rt=sh&r=307230644&vbdid=3102369438&fin=resolutions1.png&fn=resolutions1.png&rtype=1&dp-logid=8666582024145371477&dp-callid=0.1&hps=1&tsl=0&csl=0&fsl=-1&csign=233UgcuF7Q4Ii7gcfO4CbWvFTvk%3D&so=0&ut=1&uter=4&serv=0&uc=2415001276&ti=05df9239daa40647f5c4859715e42a25f70c977995285b90&hflag=30&from_type=1&adg=c_384dcd1e4c95d1375f21f0d922f55368&reqlabel=250528_f_c3591ac93a3dd9bf0ff819f2b5fb0cc1_-1_40c5c25ca3c3f111f69a72c03c9571d9&fpath=Share_20240126_164651&by=themis&resvsflag=1-0-0-1-1-1"

下载完成后,会在当前目录下生成一个命名好的文件:

$ ll
总用量 76
drwxrwxr-x 2 dechin dechin 4096 1月 26 16:55 ./
drwxrwxr-x 4 dechin dechin 4096 1月 22 10:56 ../
-rw-rw-r-- 1 dechin dechin 62394 1月 26 16:47 custum_file.png

特别说明

前面章节用到的link1和link2,在任何一台可以用wget命令行下载的计算机上都可以直接下载,不需要再用浏览器解析一遍。

总结概要

本文介绍了详细的在Linux机器上使用wget命令行下载某度网盘中共享的加密文件,用这种相对低成本的平台来存放一些大文件,相比于免费的Gitee和Github等大型开源管理平台还是要稳定一些。因为可以直接命令行下载,那么就可以直接把下载脚本写到python开源库的setup文件中,便于实现自动化的安装。

版权声明

本文首发链接为:https://www.cnblogs.com/dechinphy/p/wget-baidu.html

作者ID:DechinPhy

更多原著文章:https://www.cnblogs.com/dechinphy/

请博主喝咖啡:https://www.cnblogs.com/dechinphy/gallery/image/379634.html

参考链接

  1. https://blog.csdn.net/DoReAGON/article/details/107111099

Linux命令行从x度网盘下载数据的更多相关文章

  1. 使用cmd命令行方式登录ftp上传下载数据

    部分用户在使用ftp工具登录空间上传下载过程中经常会遇到各种问题,如主动模式,被动模式,以及其他导致无法登陆ftp .上传数据.下载数据的问题,这时候不妨使用一下命令行方式.命令行下可以避免很多由于f ...

  2. 用Linux命令行获取本机外网IP地址

    引言:目前获取ip的方法中,ifconfig和ip获取函数得到的都是内网ip.有时候需要获取外网ip,目前通用的做法,是向外部服务器发送请求,解析外部服务器响应,从而得到的自己的外网ip.linux下 ...

  3. 【转】用Linux命令行获取本机外网IP地址

    $ curl ifconfig.me $ curl icanhazip.com $ curl ident.me $ curl ipecho.net/plain $ curl whatismyip.ak ...

  4. Linux命令行获取本机外网IP地址

    问题: 服务器地址为net映射地址,本机ifconfig无法直接获取映射的公网地址. 方法: [root@TiaoBan- nidongde]# curl http://ifconfig.me 50. ...

  5. Linux命令行上传文件到百度网盘

    利用bpcs_uploader你可以自动将VPS主机上的文件上传到百度网盘中,同时也可以从百度网盘中下载文件到VPS主机上,让你的文件安全地"住"在百度云中.[font=Tahom ...

  6. [转]使用Linux命令行测试网速

    装speedtest-cli speedtest-cli是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行.它基于Speedtest.net的基础架构来测 ...

  7. 使用Linux命令行测试网速

    安装speedtest speedtest是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行.它基于Speedtest.net的基础架构来测量网络的上/下 ...

  8. 使用Linux命令行测试网速-----speedtest-cli

    https://github.com/sivel/speedtest-cli 当发现上网速度变慢时,人们通常会先首先测试自己的电脑到网络服务提供商(通常被称为“最后一公里”)的网络连接速度.在可用于测 ...

  9. Linux命令行测试网速speedtest.net

    Linux命令行测试网速speedtest.net 当发现上网速度变慢时,人们通常会先首先测试自己的电脑到网络服务提供商(通常被称为"最后一公里")的网络连接速度.在可用于测试宽带 ...

  10. linux 从百度网盘下载文件的方法

    linux 从百度网盘下载文件的方法 发表于2015 年 月 日由shenwang 方法1.wget wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括 ...

随机推荐

  1. 使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(NFS网络存储)

    使用 Kubeadm 部署 Kubernetes(K8S) 安装 使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- Ingress-Ngnix Volume 是 Pod 中能够被 ...

  2. MongoDB 读写分离——Windows MongoDB 副本集配置

    本文基于:MongoDB 读写分离--MongoDB 安装 参考:https://docs.mongodb.com/manual/tutorial/deploy-replica-set-for-tes ...

  3. Redis 数据一致性

    概述 当我们在使用缓存时,如果发生数据变更,那么你需要同时操作缓存和数据库,而它们两个又分属不同的系统,因此无法做到同时操作成功或失败,因此在并发读写下很可能出现缓存与数据库数据不一致的情况 理论上可 ...

  4. WebRTC 的现状和未来:专访 W3C WebRTC Chair Bernard Aboba

    WebRTC 无疑推动和改变了互联网视频,而这仅仅是刚刚开始,除了大家熟悉的 WebRTC-PC.Simulcast 和 SVC,有太多的新技术和新架构出现在 WebRTC 新的标准中,比如 WebT ...

  5. 干掉大小流切换 I 帧!阿里云 RTC QoS 及视频编码联合优化之切流编码

    如果要在两条分辨率不同的视频流之间切换,尽管这两条流的画面内容基本一样,但是由于两条流的参考帧不同,分辨率不同,目前所有的视频编码标准都无法做到利用帧间预测编码得到编解码匹配的结果,而帧内预测编码即 ...

  6. JS 实现 HashMap

    HashMap代码(这种实现方式是错误的,错误原因:代码中_map._length变量是HashMap的所有实例共用的): /** * HashMap * 2021年09月09日 */ (functi ...

  7. RSAC创新沙盒十强出炉,这家SCA公司火了

    引言 近日,全球网络安全行业创新风向标RSAC创新沙盒公布了本年度入围十强的名单,软件供应链安全企业Endor Labs凭借基于依赖关系建立应用开发生命周期的解决方案获得了广泛关注. Endor La ...

  8. springboot+vue实现 下载服务端返回的文件功能

    开发中会遇到,通过浏览器下载服务器端返回的文件功能,本文使用springboot+vue实现该功能. 后端代码: 注:后端返回的文件名遇到中文就会乱码,一直也没得到很好的解决方案,最后就统一返回1.x ...

  9. PostMan——安装使用教程(图文详解)

    https://blog.csdn.net/m0_61843874/article/details/123324727 postman使用教程1-安装与使用: https://www.cnblogs. ...

  10. ShardingSphere 使用 ShardingJdbc 与 mybatis plus实现分库分表及读写分离

    本文为博主原创,未经允许不得转载: 目录: 一. 官网及git 地址 二. Apache ShardingSphere 简介 三.spring boot + mybaits plus +shardin ...