Sed
如何從單個維基百科文章中下載具有全解析度(即 svg)的所有圖像
我問自己怎麼下載
- 所有 (.svg) 圖像
- 來自單個維基百科文章
無需為每個圖像手動執行此操作。維基百科使用更複雜的 url 方案提供不同解析度和多種格式的圖像
範例網址:
https://en.wikipedia.org/wiki/Thirty-six_Views_of_Mount_Fuji
我在dougie.io的Using Wget, Grep, and Sed to Download Public Domain Pictures From a Web Page找到了一個完美的解決方案。我正在嘗試將其歸結為主要步驟(以使其在此處也可用):
- 使用以下命令下載 HTML 頁面
wget
:wget https://en.wikipedia.org/wiki/Thirty-six_Views_of_Mount_Fuji \ -O page.html -O page.html
grep
使用和提取圖像 URLsed
。然後從文章中提取 URL 並將它們寫入一個新文件 urls.txt:grep -E "(https?:)?//[^/\s]+/\S+\.(jpg|png|gif|svg)" page.html -o | sed "s/(^https?)?\/\//https\:\/\//g" -r > urls.txt
- 使用下載圖像
wget
:
- 拇指圖像
如果您只需要拇指圖像,您可以通過以下方式開始:
wget -i urls.txt -P downloads/
**全尺寸圖像** 獲得全尺寸圖像,請將 URL 文件 ( *urls.txt* ) 過濾為新文件 ( *urls-new.txt* ):
d -E "s/\/thumb//g; s/\/[0-9]+px-.+\.(jpg|png)$//g" urls.txt | iq > urls-new.txt
後重新開始下載:
et -i urls-new.txt -P downloads_full_size/
完整的功勞歸於連結的文章。