1

データベースと RSS フィードがあるとします。まだデータベースにない、RSS フィードからの新しいデータを見つけなければなりません。この問題にどのようにアプローチしますか?

4

5 に答える 5

2

RSS アイテムごとにハッシュコードまたは一意の識別子を生成し、それをデータベースに保存するのはどうですか? 次に、新しい RSS の各項目のハッシュコードを生成し、データベースと照合します。

于 2008-10-04T20:39:17.187 に答える
2

まず、各アイテムを一意に識別する必要があります。guidこの要素を使用するサイトと使用しないサイトがあり、要素が変更されないアイテムと変更されるアイテムがあるため、これは問題ですlink。一般的な経験則は、アイテムに があるguid場合はそれをキーとして使用し、そうでない場合は をキーとして使用してlink希望することだと思います。

アイテムのキーを確立したら、(おそらく)pubDate要素を調べることで、見ているアイテムが更新されたかどうかを判断できます。これは、ストーリーが更新された場合に更新される必要があります。

このアプローチはほとんどの場合を処理しますが、RSS に関連するすべての場合と同様に、フィード プロバイダーが適切に動作していないと機能しなくなります。

于 2008-10-04T20:47:35.190 に答える
1

ほとんどの RSS フィードには、各記事の日付があります。したがって、データベースから最新の記事の日付を取得するクエリを作成し、RSS フィードからすべての最新の記事を取得して、日付を比較します。

また、これが 1 つの特定のフィード用であるか、または多くのフィードで機能するものを作成しているかによっても異なります。すべてのフィードで機能すると思われる場合は、いずれかのハッシュ方法を使用してください。タイトルと日付のハッシュを作成し、これを一意の識別子として使用します。

于 2008-10-04T20:37:19.063 に答える
0

RSS フィード内の特定のアイテムの一意のフィールドから取得します。次に、そのアイテムがすでにデータベースにあるかどうかを確認します。このロジックをループで実行します。

于 2008-10-04T20:34:19.770 に答える
0

手に負えない、いくつかの提案:

  • フィード内の各アイテムに対してチェックサムを実行し、結果をデータベースに保存します。データベース内の結果を、RSS ソースからの新しいファイル/ストリームごとに比較します。
  • タイトルをハッシュします。各アイテムの日付と時刻をデータベースに保存します。更新された各 RSS ストリームと比較します。
于 2008-10-04T20:40:11.770 に答える