Sed

如何從單個維基百科文章中下載具有全解析度(即 svg)的所有圖像

  • September 12, 2018

我問自己怎麼下載

  • 所有 (.svg) 圖像
  • 來自單個維基百科文章

無需為每個圖像手動執行此操作。維基百科使用更複雜的 url 方案提供不同解析度和多種格式的圖像

範例網址:

https://en.wikipedia.org/wiki/Thirty-six_Views_of_Mount_Fuji

我在dougie.ioUsing Wget, Grep, and Sed to Download Public Domain Pictures From a Web Page找到了一個完美的解決方案。我正在嘗試將其歸結為主要步驟(以使其在此處也可用):

  1. 使用以下命令下載 HTML 頁面wget
wget https://en.wikipedia.org/wiki/Thirty-six_Views_of_Mount_Fuji \
    -O page.html -O page.html
  1. grep使用和提取圖像 URL sed。然後從文章中提取 URL 並將它們寫入一個新文件 urls.txt
grep -E "(https?:)?//[^/\s]+/\S+\.(jpg|png|gif|svg)" page.html -o | 
sed "s/(^https?)?\/\//https\:\/\//g" -r > urls.txt
  1. 使用下載圖像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/


完整的功勞歸於連結的文章。

引用自:https://unix.stackexchange.com/questions/468435