比如我们想下载某个课程的所有lecture的pdf/pptx资料
https://www.uio.no/studier/emner/matnat/its/TEK4500/h20/lectures/ https://github.com/LiYing0/CS_Gra-HITsz/tree/master/研一上/密码学
手动下载每一个链接非常的低效
下面教一下如何用shell命令完成这项工作
右键查看网页源码或者按F12,得到资源的网页元素块
右键复制元素
image.png 粘贴到本地文本文件中
接下来可以打开git bash运行我们的shell命令
在网页可以curl下来的情况下,也可以省略复制到本地文本文件中的这一步
直接curl资源所在的网页
curl https://www.uio.no/studier/emner/matnat/its/TEK4500/h20/lectures/ image.png
总的来说四部曲:
- curl 或者 cat 网页源代码的文本文件
- grep "pdf|pptx"
- awk -F '"' '{print $数字}'
- (去重)排序
第3步补充说明:
网页里面的分割符如果用 "
aaa"bbb"ccc
如果想截取bbb的话,数字填2
没带https的情形
对于资源地址没显示完整的情形,有时候需要手动补充完整
方法是在print后面添加需要补充的内容,比如
cat 1.txt | grep 'pdf|pptx' | awk -F '"' '{print "http://github.com" $10}'
最后可以用IDM批量下载
IDM
在任务栏点选从剪贴板添加批量下载
大功告成~
网友评论