web-dev-qa-db-ja.com

HTTRACKを使用して、アクセント付きキャラクターを使用してURLからgzipファイルをダウンロードしますか?

私はotttyの結果を持つHTTRACKでサイトをダウンロードしています。複数のディレクトリは、同じHTMLファイルの2つ以上のバージョンを返します。任意の特定のディレクトリ内のこれらの重複は次のとおりです。

  1. ブラウザにGibberishを表示するriendice.html(アクセント付きÍに注意してください)。より慎重に検討されたとき、これは正しいHTMLファイルを含む拡張機能が誤って並ぶアーカイブであることがわかります。
  2. indice.html.zという名前のファイル。そのファイルの読み取り可能なバージョンを含むアーカイブです。
  3. riendice-2htmlという名前のファイルは、オリジナルのriendice.htmlの良いバージョンで、ブラウザで完全に読みやすい
  4. 同じファイルを含むアーカイブであるriendice-2.html.zという名前のファイルが、最初のものからサイズが多少異なる場合があります。
  5. nS

HTTRACKエラーログには、次のようになります。

18:07:32エラー:リンクexample.com/conversación/índice.htmlの "解凍時のエラー"(-1)

これはスペイン語のサイトであり、一部のディレクトリにはそれらのアクセントがあり、ファイルはindex.htmlの代わりにriendice.htmlと呼ばれます。これにより、HTTRACKがダウンロードをめちゃくちゃにするのはアクセントであるという理由で、問題なく同じサイトの英語版をダウンロードしたことを除けば、それを証明することはできません。

要約すると、問題は、URLのアクセント付き文字またはhttrackのgzipされたHTMLファイルの処理方法に関連する他のものにありますが、マイメインの質問は同じです。

これはHTTRACKまたは予想される動作のバグです。

1
Knocks X

それはあなたが疑われるように、それはアクセントされた文字によって引き起こされるかもしれません。 このオープンのバグ 関連するように見えます。

中国語のテキストによるものです。中国語のテキストは、WinHTTrackがWinHttrackによって.whttファイルと同じフォルダにいくつかのゴミコード化フォルダを作成します。そして、これらの場合、ダウンロードフォルダに残っている.html.zファイルが残り、時には.delayedまたは空のファイルと、「解凍時にエラー」という名前の障害が発生します。

PLAIN ASCII SAM URLのプロジェクト名]に進み、成功しました。

そのため、エンコードの問題が表示されます(一部の以前のバージョンには存在しません)。

提案:

  • --utf8-conversionフラグを試してください。
  • それがうまくいかない場合は、以前のバージョンのプログラムをダウンロードしてみてください(バグレポーターが以前のバージョンが問題を述べていないため)。
  • 代わりに、wgetを使用してください。何かのようなもの

    wget -mkp -np -nH www.example.com/path/to/toplevel/directory/index.html
    

    index.htmlの下にあるexample.com/path/to/toplevel/directory/にリンクされているすべてのページを再帰的にコピーします。それらのファイル(CSS、JSなど)をサポートするために必要なファイルも含まれています。

    注:wgetがアクセント付きファイル名を破棄する場合は、オプションを使用します。

    --restrict-file-names=nocontrol
    

重複ファイル近くのファイル

重複するファイルの問題については、HTTRACK(またはWGET)は、どのファイルを選択してダウンロードしてはいけないようにする方法を説明できる限り、本当に何もしません。

ある種の一貫した命名方式がある場合は、特定の種類の名前やパスを使用してファイルが欲しくない場合は、フィルタを使用してそれらを除外することができます。

  • HTTRACKを使用すると、ファイルを フィルタ を使用して除外することができます。これらは-を接頭席したワイルドカードパターンです。フィルター

    -www.example.com/path/to/toplevel/directory/subdir_with_dupes/*-2.html
    

    subdir_with_dupes/で終わる名前があるサブディレクトリ-2.html内のすべてのファイルを除外します。フィルタで使用できるさまざまなワイルドカードとスキャン規則があります。上記のリンク、またはマニュアルページを参照してください。

  • Wgetを使用している場合は、--exclude-directoriesを使用してディレクトリを除外することができ、--reject(ワイルドカードを許可することを許可します)。または、--reject-regexを使用してURL全体に正規表現フィルタを適用することもできます。他のオプションがたくさんあります。 wget --helpを使用してリストを入手することができ、man wgetで説明をします。

2
pyrocrasty