-1

私はクライアントのためにショップを移行しています。

FTP アクセスのない彼女の「ショップ」からすべての古いイメージ ファイルを取得する必要があります。

ファイル名/URLのリストをエクスポートできました。私の計画は、それらを Firefox にロードし、「Downloadthemall」を使用してすべてのファイルを単純にダウンロードすることでした。(2000年頃)。ただし、約 1 1/3 には [ と ] が含まれています。

すなわち

cdn.crapshop.com/images/image[1].jpg

Downloadthemallはびっくりして、それを次のようにしか読みません

cdn.crapshop.com/images/image

ファイルではないため、ダウンロードしません。

このようなリストを取得するための別の方法について何か考えを持っている人はいますか?

4

1 に答える 1

1

あなたが提供したサンプル URL が無効である理由を説明するこのソリューションを参照してください: Validation。その投稿を見ると、@good から提供された回答で、パーセント エンコーディングを使用して仕様に従っていない文字をエンコードする必要があることがわかります。これにより、Web サーバーはそれらを理解できます。

これはpythonを呼び出します...この投稿を参照してください:Pythonでのパーセントエンコーディング

そして、すべてをスクリプトにまとめることができます。これを使用して、stdin から読み取り、stdout に出力しますpython script.py < input > output.out

import urllib, sys

while 1:
    try:
        line = sys.stdin.readline()

    except KeyboardInterrupt:
        break

    if not line:
        break

    print urllib.quote(line.strip(), safe=':').strip('\'')

次に、うまくいけば、それらすべてをダウンロードすると、スクリプトによって修正されたファイルのリストが解析されます (そのスクリプトへの入力は、改行で区切られた URL のリストである必要があります)。

この投稿にも興味があるかもしれません: Downloading files with python . これは、Python を使用してファイル (特に Web ページ) をダウンロードする方法を示しています。

幸運を!

于 2012-10-15T17:24:39.810 に答える