0

Web ページからすべての画像をダウンロードし、画像名の先頭に Web ページの URL (すべての記号をアンダースコアに置き換えます) を付けるにはどうすればよいですか?

たとえば、http://www.amazon.com/gp/product/B0029KH944/からすべての画像をダウンロードする場合、メインの製品画像は次のファイル名を使用して保存されます。

www_amazon_com_gp_product_B0029KH944_41RaFZ6S-0L._SL500_AA300_.jpg

私は WinHTTrack と wget をインストールしましたが、おそらく必要以上の時間を費やしましたが、うまくいきませんでした。スタック オーバーフローは私の最後の努力です。(サイト構造に従ってファイルを保存するようにビルド オプションを設定し、親ディレクトリに基づいてファイルの名前を変更するスクリプトを記述した場合、WinHTTrack はそれに近づきましたが、問題は、メイン イメージが別のドメインでホストされていることです。)

4

1 に答える 1

1

さて、新しいWebscraperにダウンロード オプションを追加しました。

これで、次のようにできます。

 xidel "http://www.amazon.com/dp/B0029KH944/" -e 'site:=translate(filter($_url, "http://(.*)", 1), "/.", "__")'  -f //img -e 'image:=filter($_url, ".*/(.*)", 1)' --download '$site;$image;'

最初の -e は URL を読み取り、/ を削除します。文字、-f はすべての画像を選択し、-e 2 番目はファイル名を読み取り、--download はそれをダウンロードします...

すべての画像をhtmlファイルとして解析しようとするという欠点がありますが、少し遅くなる可能性があります...

于 2012-09-06T00:36:03.477 に答える