簡體   English   中英

使用Python組合多個RSS提要的最佳算法

[英]best algorithm to combine multiple RSS feeds using Python

我正在編寫一個Python腳本來結合大約20多個RSS feed。 我想使用自定義解決方案,而不是feedjack或planetfeed。

我使用feedparser解析提要,並使用mysql對其進行緩存。

我遇到的問題是確定哪些提要已經被緩存,哪些還沒有。

一些我嘗試過的偽代碼:

  • 創建所有提要項的列表
  • 獲取從數據庫緩存的最后一項的日期
  • 檢查列表中哪些項目的日期大於數據庫中的日期,並返回此過濾列表
  • 按創建項目的日期對返回的過濾列表進行排序
  • 向數據庫添加新項目

我覺得這可行,但是我的問題是,並非我所使用的RSS feed上的所有日期都是正確的。 有時,無論出於何種原因,發布商都會在將來提供帶有日期的供稿項目。 如果這個將來的日期添加到數據庫中,則它將始終大於我列表中各項的日期。 因此,比較停止工作,並且沒有新項目添加到數據庫中。 我想提出另一種解決方案,而不要依賴發布者的日期。

你們中的一些專業人士將如何做到這一點? 假設您必須組合多個rss提要,將它們保存到mysql數據庫,然后按日期排序返回它們。 我只是在尋找偽代碼,以使我對執行此操作的最佳方式有所了解。

謝謝你的幫助。

根據提要的更新頻率和檢查頻率,您可以簡單地修復殘缺的日期(如果是將來的日期,將其重置為今天),然后再將其添加到數據庫中。

除此之外,您還必須使用某種ID,我認為RSS在每個項目上都有一個ID字段。 如果您的Feed保持井井有條,則可以獲取最新的緩存ID,在Feed項列表中找到該ID,然后添加所有較新的內容。 如果它們出現故障,則必須對每個緩存進行檢查,如果缺少,則將其添加。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM