ブログをミラーリングすると、wgetを正常に再帰できません。

ブログをミラーリングすると、wgetを正常に再帰できません。

このブログのオフラインミラーを作成したいと思います。http://blogs.gamefilia.com/lord-areg

私は以下を使用しています:

wget --recursive --level=0 --span-hosts --no-clobber --page-requisites --html-extension --convert-links --no-parent -e robots=off --wait=4 --random-wait --adjust-extension --no-check-certificate --user-agent=Mozilla http://blogs.gamefilia.com/lord-areg/‍

しかし、私はサブディレクトリだけを取得できindex.html、サブディレクトリを取得することはできません...すべて必要です。

たとえば、

lord-areg/15-01-2012/47781/boveda-de-articulos-de-silent-hill

lord-areg/01-02-2012/48151/eddie-dombrowski-la-pistola-y-la-pizza-misteriosa

など。

答え1

実行すると、-d何が起こっているかを示しています。

Location: http://blogs.gamefilia.com/lord-areg [following]
    ....
Deciding whether to enqueue "http://blogs.gamefilia.com/lord-areg".
Going to "" would escape "lord-areg" with no_parent on.
Decided NOT to load it.
Redirection "http://blogs.gamefilia.com/lord-areg" failed the test.

リダイレクトされたページは指定された領域の外側にあるため、ページを検索しても繰り返しはその内容に従いません。

最後のものを削除するとは、リダイレクトがないことを意味しますが、/見つかったように、wgetはそれをlord-aregディレクトリとして扱うことなく古いディレクトリを使用するため、/サイト全体が一致することを意味します。

HTTP(およびHTTPS)の場合、「--no-parent」の場合は末尾のスラッシュが非常に重要です。 HTTPには「ディレクトリ」という概念はありません。 Wgetは、ユーザーが何がディレクトリであり、何でないかを示します。存在する」http://foo/bar/'、Wgetは 'bar'がディレクトリだと思います 'http://foo/bar'(末尾のスラッシュなし)、 'bar'はファイル名として扱われます(したがって、 '--no-parent'は親が '/'なので意味がありません)。

4.3 ディレクトリベースの制限)

したがって、他の方法で結果を制限する必要があります。 -I lord-aregほとんど機能しますが、フォームのページをスキップします/lord-areg?page=1。これを一致させるには、必須URLを詳しく説明してください。

--accept-regex '^http:\/\/blogs\.gamefilia\.com\/lord-areg[?/]'

関連情報