ウェブサイトのすべての画像をダウンロードしようとしています
こちらがウェブサイトです:
https://wall.alphacoders.com/by_sub_category.php?id=173173&name=Naruto+Wallpapers
私は試した:
wget -nd -r -P /home/Pictures/ -A jpeg,jpg,bmp,gif,png https://wall.alphacoders.com/by_sub_category.php?id=173173&name=Naruto+Wallpapers
s
しかし、画像はダウンロードしません
結果
HTTP要求が送信され、応答を待っています... 200 OK長さ:未指定[text/html]/home/Pictures:許可が拒否されました/home/Pictures/by_sub_category.php?id=173173:そのようなファイルまたはディレクトリはありません
「/home/Pictures/by_sub_category.php?id=173173」に書き込みできません(そのようなファイルまたはディレクトリはありません)。
Wgetで指定されたページからすべての画像をダウンロードするには、次のコマンドを使用できます。
wget -i `wget -qO- https://wall.alphacoders.com/by_sub_category.php\?id\=173173\&name\=Naruto+Wallpapers | sed -n '/<img/s/.*src="\([^"]*\)".*/\1/p'`
この例では、HTMLファイルはwgetでSTDOUTにダウンロードされ、sedで解析されるため、img URLのみが残り、ダウンロードの入力リストとしてwget -i
に渡されます。
このページの画像のみをダウンロードしますが、それらは単なるサムネイル(幅350ピクセル)であることに注意してください。
完全なイメージをダウンロードする場合は、一歩進んで、解析されたIMGのURLを変更して、高解像度のイメージに対応するようにする必要があります。あなたはsedまたはawkでそれを行うことができます:
wget -i `wget -qO- https://wall.alphacoders.com/by_sub_category.php\?id\=173173\&name\=Naruto+Wallpapers | sed -n '/<img/s/.*src="\([^"]*\)".*/\1/p' | awk '{gsub("thumb-350-", "");print}'`
最後のコマンドを実行した結果、ディスクにHD壁紙のパックができます