V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
s1xu
V2EX  ›  V2EX

关于论坛 rss 新主题源

  •  
  •   s1xu · 171 天前 · 10282 次点击
    这是一个创建于 171 天前的主题,其中的信息可能已经有所发展或是发生改变。

    来了挺久了一直潜水,最近在写 tg 推送 rss 的东西,想追下论坛最新的帖子

    现在是抓取的 https://www.v2ex.com/index.xml 这个地址,但是有新回复也会推送

    我的需求是,只要新主题,请问各位有没有这个源?

    27 条回复    2024-06-04 12:23:13 +08:00
    yesha
        1
    yesha  
       171 天前
    s1xu
        2
    s1xu  
    OP
       171 天前 via iPhone
    @yesha 多谢解答,但是我希望是 rss 源
    yesha
        3
    yesha  
       171 天前
    帮不了你了. 你可以自己用 api 数据,自己做个 xml 源
    s1xu
        4
    s1xu  
    OP
       171 天前 via iPhone
    有道理噢,新思路,多谢
    shuxhan
        5
    shuxhan  
       171 天前
    sleepm
        6
    sleepm  
       171 天前
    上数据库,新增记录前查找,存在就不新增
    s1xu
        7
    s1xu  
    OP
       171 天前 via iPhone
    @sleepm 主要用的这个地址不是通用的 rss 格式,我用 py 的 feedparser 做了一个通用的,只提取 title 和 link ,index.xml 这个地址的 link 会显示回复的地址,所以不太好用
    elechi
        8
    elechi  
       171 天前
    https://www.v2ex.com/feed/tab/tech.xml
    我订阅的这个,没有回复
    Zaden
        9
    Zaden  
       171 天前
    @elechi #8 请问哪里来的 xml ?这个地址只有技术的,有所有主题的吗?
    fixbugs
        10
    fixbugs  
       171 天前
    可以使用 rsshub
    Zaden
        11
    Zaden  
       171 天前
    @Zaden #9 发现就在右侧栏里 https://www.v2ex.com/index.xml
    s1xu
        13
    s1xu  
    OP
       171 天前 via iPhone
    @Zaden 这个又回到了我前面讲的,会推送回复的帖子
    eaststarpen
        14
    eaststarpen  
       171 天前
    https://fast.v2ex.com/t/1040682 里有站长的回复 " https://www.v2ex.com/changes"

    该页面底部存在描述 "本页面是全站最新的 100 个主题......"

    我简单查看了里面的帖子,似乎也是根据回复时间刷新的

    或许你可以 at 站长问一下
    0o0O0o0O0o
        15
    0o0O0o0O0o  
       171 天前 via iPhone
    我也一直觉得应该分为两个,最新发布的主题是一个,有最新回复的主题是另一个。我记得它会在后面带上#reply 并且没有唯一的 ID ,就会重复推送了。
    encro
        16
    encro  
       171 天前
    不用了,直接 ID 加 1 解决。
    s1xu
        17
    s1xu  
    OP
       171 天前 via iPhone
    @0o0O0o0O0o 是的,这里的主题和帖子是两个概念,rss 这个推送的是帖子,也就是最新的回复,我的想法是只监听最新的主题
    s1xu
        18
    s1xu  
    OP
       171 天前 via iPhone
    @eaststarpen 这个帖子我搜索过,最后一条回复就是我
    fydss
        19
    fydss  
       171 天前
    https://www.v2ex.com/recent?p=1 这个最近的主题是不是
    s1xu
        20
    s1xu  
    OP
       171 天前 via iPhone
    s1xu
        21
    s1xu  
    OP
       171 天前 via iPhone
    @fydss 不是,点进去第一条,发布时间是 9 个小时 5 分钟前
    fydss
        22
    fydss  
       171 天前
    @s1xu https://www.v2ex.com/feed/tab/all.xml 我把楼上老哥的地址改了一下,还真是可以访问的 XML ,乐
    s1xu
        23
    s1xu  
    OP
       171 天前 via iPhone
    @fydss 但是这个 table 推送的也不是最新发送的主题哈哈哈
    NewYear
        24
    NewYear  
       171 天前
    这说明你抓取的不对,RSS 的<id>就是每个主题的唯一值。不会变化的,不要光靠 URL 来做判断,而且你自己抓取的话,也可以去掉#后面的内容。


    @s1xu
    @0o0O0o0O0o
    0o0O0o0O0o
        25
    0o0O0o0O0o  
       171 天前
    @NewYear #24 #15 我看了下,v2ex 的 RSS 是有 ID 的,是我记错了

    遇到过有的 RSS 不带 ID ,RSS 工具就会自己算 id/guid , # 后面的内容也会被带进去计算
    s1xu
        26
    s1xu  
    OP
       170 天前
    @NewYear 主要是想做一个通用的,直接解析 title 和 link
    NewYear
        27
    NewYear  
       170 天前
    @s1xu

    这一块我之前也研究过,甚至报告过 feedly 错误处理的问题。加上后来自己想做个 rss 阅读器所以比较清楚。

    <id>就是最通用的,是规范。
    另外你要用自己的算法判断唯一,也可以用“标题”+“内容”做一个 hash 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2522 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:47 · PVG 23:47 · LAX 07:47 · JFK 10:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.