比如我們想下載某個課程的所有l(wèi)ecture的pdf/pptx資料

https://www.uio.no/studier/emner/matnat/its/TEK4500/h20/lectures/

https://github.com/LiYing0/CS_Gra-HITsz/tree/master/研一上/密碼學
手動下載每一個鏈接非常的低效
下面教一下如何用shell命令完成這項工作
右鍵查看網(wǎng)頁源碼或者按F12,得到資源的網(wǎng)頁元素塊

右鍵復制元素

image.png

粘貼到本地文本文件中
接下來可以打開git bash運行我們的shell命令

git bash
在網(wǎng)頁可以curl下來的情況下,也可以省略復制到本地文本文件中的這一步
直接curl資源所在的網(wǎng)頁

curl https://www.uio.no/studier/emner/matnat/its/TEK4500/h20/lectures/

image.png
總的來說四部曲:
- curl 或者 cat 網(wǎng)頁源代碼的文本文件
- grep "pdf|pptx"
- awk -F '"' '{print $數(shù)字}'
- (去重)排序
第3步補充說明:
網(wǎng)頁里面的分割符如果用 "
aaa"bbb"ccc
如果想截取bbb的話,數(shù)字填2

沒帶https的情形
對于資源地址沒顯示完整的情形,有時候需要手動補充完整
方法是在print后面添加需要補充的內(nèi)容,比如

cat 1.txt | grep 'pdf|pptx' | awk -F '"' '{print "http://github.com" $10}'
最后可以用IDM批量下載

IDM

在任務欄點選從剪貼板添加批量下載

大功告成~