登录

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

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

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

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


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

# Python
大家讲道理 大家讲道理 2558 天前 1240 次浏览

全部回复(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
  • 取消 回复 发送