技术背景

做开源项目的时候,尤其是现在的数据量越来越大,经常会面临到数据往哪里存放的问题。因为自己刚好有一个某度云的会员,看了一下还有几十个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. Appuploader工具让ipa上传到App Store 的最新流程和步骤

    ​ 苹果官方提供的工具xcode上架ipa非常复杂麻烦.用appuploader 可以在 mac 和windows 上制作管理 证书 ,无需钥匙串工具 条件:1.以Windows为例,创建app打包i ...

  2. Win10 企业版激活方法

    如果大家想要激活 Win10的企业版,可以依次执行下面的命令,分别表示安装win10企业版密钥,设置kms服务器,激活win10企业版;slmgr /ipk NW6C2-QMPVW-D7KKK-3GK ...

  3. #2612:Find a way(BFS搜索+多终点)

    第一次解决双向BFS问题,拆分两个出发点分BFS搜索 #include<cstdio> #include<cstring> #include<queue> usin ...

  4. Printer Queue,UVa 12100 (自定义标记法 + 优先队列)

    题目描述: 我们需要用打印机打印任务.每个任务都有1~9间的优先级,优先级越高,任务越急. 打印机的运作方式:从打印队列里取出一个任务j,如果队列里有比j更急的任务,则直接把j放到打印队列尾部,否则打 ...

  5. POJ2965 The Pilots Brothers' refrigerator (精妙方法秒杀DFS BFS)

    这道题和算法进阶指南的一道题解法一样,必须另操作为奇数.见证明过程 证明:要使一个为'+'的符号变为'-',必须其相应的行和列的操作数为奇数;可以证明,如果'+'位置对应的行和列上每一个位置都进行一次 ...

  6. C++ bitset的简单使用

    bitset 一般代替 bool 数组使用,常用于优化空间,因为 bitset 中一个元素只占 1 bit. bitset 的大小在定义使就需要确定.如果想要不定长的 bitset,就需要使用 vec ...

  7. 为什么很多候选人投出去的简历石沉大海(面向Java方向)

    我最近在帮上海某培训学校里的毕业生做面试辅导,普遍发现很多候选人不是没能力,或者说能力没有差到没有面试机会的程度,但这些同学投出去的简历大多石沉大海,即使有回应,也大多是些外包外派公司或者小公司. 而 ...

  8. Web Components从技术解析到生态应用个人心得指北

    Web Components浅析 Web Components 是一种使用封装的.可重用的 HTML 标签.样式和行为来创建自定义元素的 Web 技术. Web Components 自己本身不是一个 ...

  9. 《深入理解计算机系统》(CSAPP)读书笔记 —— 第七章 链接

    链接( Clinking)是将各种代码和数据片段收集并组合成为一个单一文件的过程,这个文件可被加载(复制)到内存并执行.链接可以执行于编译时( compile time),也就是在源代码被翻译成机器代 ...

  10. 【FreeRTOS】堆内存管理

    动态内存分配及其与FreeRTOS的相关性 为了使FreeRTOS更易用,内核对象(如任务.队列.信号量.事件组)不在编译期静态分配,而是在运行时动态分配,FreeRTOS在内核对象创建时分配RAM, ...