Ubuntu多线程下载数据资源、需要登录才能下载的数据资源 方法记录
一.axel
可以设置多个线程下载资源,很方便
1.安装
sudo apt-get install axel(需要sudo权限)
2.下载命令
axel -n 10 -o output_dir http://...
其中-n表示设置的线程数量,这里设置为10;-o为输出目录,这里设置为output_dir,如果不写-o会下载到当前目录下;http就是你要下载的链接
axel应该下载不了需要登录用户后才允许下载的资源,需要下面的方法
二.aria2c
可以下载需要登录用户后才允许下载的资源,例如cityscapes数据集
1.安装
sudo apt-get install aria2c(需要sudo权限)
2.下载命令
2.1不需要登录时
aria2c http://...
http就是你要下载的链接
2.2 需要登录
1. aria2c --http-user=xxx --http-passwd=xxx https://...
2. aria2c --ftp-user=xxx --ftp-passwd=xxx ftp://ftp...
其中xxx分别是对应的用户名和密码
如果上面两个下载命令不能使用,还有个办法——使用cookie代替输入用户名和密码的方式:
aria2c --header="Cookie: XXX" https://...
其中cookie信息我们可以从浏览器中复制,方法如下:
在需要下载资源的页面登录好用户,按F12,在显示的界面中找到网络,再找到header(标头),就可以可以看到cookie信息了,替换header后cookie信息,注意双引号和冒号后的空格。下面是演示截图:
总结
这两个方法都还有很多参数可以设置,可以参考其他博客。
aria2c参考文章:
https://linux.cn/article-7982-1.html