0

Ruby on Rails を使用して、Web サイトをクロールしてハイパーリンクを検索するツールを実装しようとしています。問題があります。Web サイトに膨大な数のリンクがある場合、ユーザーは長時間待たなければなりません。

これはおそらく素朴な質問です。結果 (たとえば 10 件の結果) を表示し、クロール プロセスがまだ実行されていることを確認するにはどうすればよいですか?

次に、ユーザーが [次へ] をクリックすると、次の 10 個のリンクが表示されます。

4

1 に答える 1

0

ページにリンクのリストがあるとします。

  1. リンク リスト内の位置を指定して、次の 10 個のリンクを提供し、表示するデータから json を返すアクションをコントローラーに実装します。
  2. JavaScript で、実装したばかりのアクションをゼロで呼び出し、json を取得し、それを解析して画面に表示します。
  3. リンク数をパラメーターとして ajax 呼び出しに追加し、リンクがゼロになるまで番号 2 を繰り返します。

呼び出しでページ上のすべてのリンクを取得し、それをユーザーに表示してからユーザーに繰り返すと、これははるかに効率的になります。次のように:

  1. 特定のページに対して、json にあるすべてのリンクを返すアクションを追加します
  2. そのアクションへの ajax 呼び出しを実行し、リンクを取得して表示し、指定された各リンクをパラメーターとして使用して、これらのリンクにクロールします。
  3. リンクがなくなっている間にこれを行ってください。サイクルを回避するために、リンクのブラックリストを保持します。

ajax の部分を取得していない場合は、ウィキペディアで ajax の定義この質問を確認してください

于 2013-09-01T18:03:23.900 に答える