wget
を手伝ってほしい、https://pixabay.com/
のようなストック画像のウェブサイトからすべての画像をダウンロードしたいのですが、ターミナルにコードを入力しても何もダウンロードされず、jpg
もありません、Zip
はありません。
私はこのコードを使用しました:
wget -r -A jpg https://pixabay.com/
ウェブサイトによっては、jpg
またはZip
を使用することがあります。私はより多くのウェブサイトで試しました:
http://www.freepik.com/
http://www.freeimages.com/
http://all-free-download.com/
まったくダウンロードしていません。
まず第一に、彼らはあなたに彼らの写真をダウンロードしてほしくないようです。演技しながらこれを考慮してください。
技術的には、カスタムタグ/属性を使用して写真をダウンロードできます。 HTMLソースをダウンロードしてカスタム属性を確認できます。残念ながら、wgetは(まだ)任意のカスタムタグをサポートしていません。基本的に2つのオプションがあります。
2番目のケースでは、インデックスファイルをダウンロードして、画像のURLを抽出する必要があります。彼らはあなたにwgetを使わせたくないので、彼らはそれがユーザーエージェント文字列であることを禁じていることを覚えておく必要があります。あなたは何かを偽造しなければなりません。 mozilla。 Linuxを使用している場合、次のようなものに写真が表示されます。
wget -O --user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0" "https://pixabay.com/en/photos/?q=cats&hp=&image_type=&cat=&min_width=&min_height=" | grep -o 'https://cdn.pixabay[^" ]*'
それをwgetにフィードバックするだけで、完了です。
..... | xargs wget
編集:@veraのソリューションも素晴らしいですが、画像検索の場合は画像の一部をダウンロードしているようです。 [コメントするのに十分なポイントがありません:)]
動作するコマンドは次のとおりです。
wget -U "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0" -nd -r --level=1 -e robots=off -A jpg,jpeg -H http://pixabay.com/
-U "..."
:WebサイトはHTTPエラー403(禁止)を返しています。これは、指定されたUser-Agentのリストのみがページにアクセスできるためです。一般的なブラウザ(Firefox、Chromeなど)のユーザーエージェントを指定する必要があります。私があなたにあげたのは実例です。-nd
(ディレクトリなし)from man: "再帰的に取得する場合は、ディレクトリの階層を作成しないでください。"-e robots=off
:robot.txtの除外に従わない-H
:ホスト間でファイルを取得できるようにします(ここでは、pixabay.comとcdn.pixabay.comは異なるホストと見なされます)レート制限メカニズムがある場合は、次のオプションを追加します--wait 1