如何从单个维基百科文章中下载具有全分辨率(即 svg)的所有图像

如何从单个维基百科文章中下载具有全分辨率(即 svg)的所有图像

我就问自己怎么下载

  • 所有 (.svg) 图像
  • 来自一篇维基百科文章

无需为每个图像手动执行此操作。维基百科使用更复杂的 URL 方案提供不同分辨率和多种格式的图像

示例网址:

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

答案1

我找到了一个完美的解决方案道吉.io使用 Wget、Grep 和 Sed 从网页下载公共领域壁纸。我试图将其归结为主要步骤(以使其在此处也可用):

  1. 使用以下命令下载 HTML 页面wget

    wget https://en.wikipedia.org/wiki/Thirty-six_Views_of_Mount_Fuji \
         -O page.html -O page.html
    
  2. grep使用和提取图像 URL sed。然后从文章中提取 URL 并将其写入新文件 网址.txt:

    grep -E "(https?:)?//[^/\s]+/\S+\.(jpg|png|gif|svg)" page.html -o | 
    sed "s/(^https?)?\/\//https\:\/\//g" -r > urls.txt
    
  3. 使用以下命令下载图像wget

    • 拇指图像
      如果您只需要拇指图像,您可以通过以下方式启动:

      wget -i urls.txt -P downloads/
      
    • 全尺寸图像
      要获取完整尺寸的图像,请过滤 URL 文件 (网址.txt)到一个新文件(urls-new.txt):

      sed -E "s/\/thumb//g; s/\/[0-9]+px-.+\.(jpg|png)$//g" urls.txt |
      uniq > urls-new.txt
      

      然后重新开始下载:

      wget -i urls-new.txt -P downloads_full_size/
      

完全归功于链接的文章。

相关内容