1

私のアイデアは、wget を使用して、非常に大きなブログのすべてのスレッドの完全なリストを作成することでした (ブログ自体によると、スレッドの総数は 50,000 です)。--spider モードで wget を使用して Web サイトをクロールし、URL をテキスト ファイルに出力しました。1d 3h 3m 3s wget が作業を完了した後、Web サイトに表示された 50,000 に対して「たった」9668 ファイルを特定しました。wget によると 643 個のリンクが壊れていたので、私の最初のアイデアは、見つからないスレッドが壊れたリンクと何らかの形で関連しているかどうかを確認することでしたが、どうやらそうではありませんでした。ブログのスレッドは、年と月の名前が付いたフォルダー (例: /2012/01/name_of_thread.html) に保存されます。一部の壊れたリンクは、wget がいくつかのスレッドをダウンロードしたフォルダーを参照しているように見えたので、選択したフォルダーのブラックアウトを除外します。

何がうまくいかなかったのかを理解するには、どこから始めればよいですか?

4

1 に答える 1

0

ブログの公開/ホスティングプラットフォームが通常とは異なるrobots.txtファイルを使用することがあるため、-e robots=offが必要になる場合があります。WordPressブログをクロールする際にも同様の問題が発生しました。そこでは、ロボットの除外によって奇妙な出力が形成されていました。これは、あなたの問題とやや似ていました。

ブログの構造によっては、より注意深くクロールすると、より良い結果が得られる場合があります。ページ付け(www.site.com/archive/1/、www.site.com/archive/2/...)を使用している場合は、forループを介して各ページをクロールし、それぞれのコンテンツを解析できます。これにより、一度にすべての50kスレッドではなく、データの小さなサブセット(たとえば、一度に10ページのスレッド)に対して検証およびテストできるため、より制御された結果が得られます。

サイトが不正な数値を報告している可能性もあります。5万スレッドあるはずだと確信していますか?

于 2013-03-20T16:57:53.047 に答える