wget 從頁面內更改圖片名稱

wget 從頁面內更改圖片名稱

該圖像每分鐘生成一次n,我想將每個圖像獲取到我的本地目錄。我沒有成功使用以下命令獲取 png 圖像:

wget -r -l1 --no-parent -A.png http://url.com/home/images/

因為它被網站封鎖了,我無法使用

wget http://url.com/home/images/filename.png

因為圖像的名稱會隨著更新而改變。

然而,圖像已鏈接http://url.com/home/index.html,我可以從那裡獲取文件名。什麼是一個可靠的方法來做到這一點?我知道要搜尋的模式:它是從目錄中呼叫的唯一圖像/home/images/

答案1

兩種策略:

  • index.html grep策略

只要 中只有一個 png 引用,它就有效index.html

#!/bin/bash
wget http://url.com/home/images/index.html
LINK=$(cat index.html | grep -zPo 'href=.*.png"')
LINK=${LINK#href=\"}; LINK=${LINK%\"}
wget --no-parent "http://url.com/home/images/$LINK"
rm index.html
  • 透過修改請求標頭來模擬瀏覽器

如何做到這一點的例子是這裡,這裡這裡

相關內容