RSSフィードが一部のエントリを複製するのはなぜですか?

StackOverflow https://stackoverflow.com/questions/182615

  •  06-07-2019
  •  | 
  •  

質問

ThunderbirdフィードリーダーでRSSフィードを読み取ると、一部のエントリが重複します。 Googleリーダーにも同じ問題はありません。

これは障害のあるフィードです http://plcoder.net/rss.php?rss=Blog

問題はありますが、どこにありますか?

よろしく、 C <!>#233; dric

update:guidを追加しましたが、問題は残ります。別のフィードは私のように複製されないので、このモジュールを作り直し、この古いコードを置き換えます。

結論:rssジェネレーターのコードを完全に作り直しましたが、大丈夫です。非常に古いバージョンのRDFを使用していたと思います。

役に立ちましたか?

解決

各アイテムに<guid>タグを追加して、パーマリンクを付けてみてください。すなわち:

<item rdf:about="http://plcoder.net/?doc=2134&amp;amp;titre=mon-pc-se-la-pete">
  <link>http://plcoder.net/?doc=2134&amp;amp;titre=mon-pc-se-la-pete</link>
  <guid>http://plcoder.net/?doc=2134&amp;amp;titre=mon-pc-se-la-pete</guid>
  ...
</item>

GUIDなしで、投稿のコンテンツのいずれかが変更された場合、RSSアグリゲーターはそれが新しい投稿であると考えるかもしれません。 GUIDを使用すると、そのアイテムのコンテンツが変更された場合でも、RSSアグリゲーターは新しいアイテムとして扱うのではなく、投稿を更新する必要があります。

他のヒント

少なくともThunderbird 2.0.0.21の問題は、TBirdがGUIDタグを尊重していないように見えるが、チャンネルの pubDateタグを尊重していることです。したがって、pubDateが最後の読み取りよりも新しい場合、TBirdは all エントリを読み取ります(そう思われます)。

チャンネルのpubDate-tagが欠落しているとどうなるかわかりません...

自分のフィードのいくつかでこの問題を経験しました。起こったことは、次のようなエントリのリストから始めることです:

Item A
Item B
Item C

クライアントはそれらをダウンロードし、すべてが問題ありません。次に、新しいアイテムを追加するので、フィードは次のようになります。

Item D
Item A
Item B

Dがリーダーに表示されます。

しかし、そのアイテムは必要ないと判断したため、リストは次のように戻ります。

<*>

Thunderbirdがこれを読み取ると、Cは新しいアイテムとしてカウントされます。 GUID要素を使用して 午前 していますので、それが問題だとは思いません。 Thunderbirdのパーサーが古い要素を考慮に入れていないことに関係があると思います。

長期にわたる回避策は、<!> quot; remember <!> quot;です。既に公開しており、それ以降に新しいアイテムによってリストの最後から押し出されたアイテム。基本的に、フィード内のアイテムの現在のリストを保持する必要があり、そこからアイテムを削除する場合は、新しいアイテムが置き換えられるまでそれを短くします。

これは、 Thunderbirdのドキュメント(<!> quot;トラブルシューティングFAQ <!> quot;の下):

  

Q:フィードメッセージが重複することがあるのはなぜですか?

     

A:同一のコンテンツで異なる一意のIDを持つフィードメッセージは   重複として検出されません。詳細については、この投稿をご覧ください。

参照用のリンクされた投稿:

  
      
  1. Atomフィード(必須)には一意のIDがあります。 Rssフィード(必須ではありません)には通常、一意のGUIDがあります。 GUIDのないRssフィードの場合、試行   フィードアイテムの必須部分から一意のIDを作成します。
  2.   
  3. ダウンロードされたすべてのフィードメッセージには、feeditems.rdfに保存されたこのIDのレコードがあり、パブリッシャーのフィードメッセージに存在する限りそこに存在します。   そのIDを持つファイル。発行者がIDを持つメッセージを削除した場合   ファイルから、24時間後にfeeditems.rdfキャッシュも消去されます   (メッセージの受信時)。
  4.   
  5. 発行者がパージされた後にIDを再利用する場合、(コンテンツが同一の場合)重複を取得します。これは意図の悪用です   固有のIDと発行者のエラーの背後にあります。
  6.   
  7. 発行者がパージされる前にidを再利用し、コンテンツが異なる場合、新しいコンテンツは表示されません。   複製。 Thunderbirdは現在このタグを使用していません。   出版社による誤用により、実装が困難になる場合があります。
  8.   
  9. 2つの明らかな重複のソース(Ctrl-U)を表示する場合、Message-Idヘッダーに注意してください。 2つの明らかなデュープが異なる場合   Message-Id値。潜在的な可能性にかかわらず、それらは偽物ではありません。   同じコンテンツ。 Tbは重複コンテンツを区別しません。
  10.   
     

極端なデバッグが必要な場合は、Feeds.logging.consoleの設定を変更します   フィード中に何が起こるかを見るために、デバッグまたはトレースして再起動する   処理。

     

フィードURLの購読を解除すると、feeditems.rdfキャッシュがクリアされます   そのフィード用。その後再サブスクライブした場合、あなたはだまされます   フィードにも存在する出版社のファイル内のすべての現在のアイテム   フォルダ。

     

圧縮はフィード処理に影響を与えません。マークされたものを削除するだけです   ファイルからアイテムを削除します。フォルダーを削除/移動する場合   ゴミ箱、サブスクライブされていません。 Tb29以降、ドラッグ/ドロップした場合   あるフィードアカウントから別のフィードアカウントへのフォルダー、サブスクリプション   保持されます(フィード項目は保持されません)。非常に古いプロファイル/フィードアカウントの場合   (Tb17より前)、新しいフィードアカウントを作成して、   そこにフォルダをドラッグします(Tb29以上)。新しいfeeds.rdfデータベースは   作成した;ペナルティは1回限りの可能性です。

同じ問題がありました... Googleのフィードに切り替えましたが、修正されましたが、正確な原因はわかりませんでした

http://feedproxy.google.com/juanformoso

Thunderbirdには、フィードエントリの複製に関するいくつかのバグがあります。おそらく、そのうちの1つだけが表示されるのでしょうか。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top