搜尋

首頁  >  問答  >  主體

python - 如何判断rss是否更新过

最近在写一个python程序要把一些rss中的文章不断获取下来

但不知道怎么判断rss是否更新过,只获取那些更新出来的文章

目前的想法是对每一个rss存一个最新文章的时间,下一次把所有更新的文章获取下来,然后更新这个最新时间


对了还有另外一个问题,就是感觉rss中的文章数没有网页上多,貌似好几天才有新的,但网页上是每天都有的,是什么原因?

大家讲道理大家讲道理2803 天前1447

全部回覆(3)我來回復

  • ringa_lee

    ringa_lee2017-04-17 14:49:55

    理論上,rss在http header應該回傳一個last-modified或etag(atom),可以透過這個來判斷

    python的feedparser中,可以這樣用

    import feedparser
    d = feedparser.parse(rss_url)
    d = feedparser.parse(rss_url, modified=d.modified, etag=d.etag)
    d.status # 304
    d.feed # {}
    

    如果沒有更新的話,第二次就不會取得到東西

    回覆
    0
  • 迷茫

    迷茫2017-04-17 14:49:55

    rss不是有guid嘛,把最新的guid存一個,再爬的時候判斷一下唄,rss有沒有更新那是別人服務端程式自己的事,你也控制不了

    回覆
    0
  • 黄舟

    黄舟2017-04-17 14:49:55

    lz,求這個程式碼!畢設題目是這個,想請教樓主大大幫忙,零基礎,如何快速做完這個項目,蟹蟹

    回覆
    0
  • 取消回覆