V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
arcaitan
V2EX  ›  问与答

怎么判断一个论坛有新帖子出现,然后帮忙顶贴呢?

  •  
  •   arcaitan · 2020-04-26 10:17:15 +08:00 · 2450 次点击
    这是一个创建于 1673 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. 我的账号有发帖回帖权限
    2. 想让这个账号成为一个机器人,monitor 这个论坛发帖情况,有人发帖就立刻顶贴抢沙发

    我的问题在于, 怎么实时判断的当前有新帖出现呢?

    设想: sleep(5) //每隔 5s 去读取论坛当前页所有帖子,是不是太频繁了 判断当前页面所有帖子的发帖时间 if 发帖时间<当前时间-10s then 顶贴

    23 条回复    2021-01-08 10:22:20 +08:00
    d5
        1
    d5  
       2020-04-26 10:25:50 +08:00
    思路太复杂了,可以直接读头部状态码即可,404 代表该帖子还未发出。

    老哥不会是打算和我抢第 xxxxxx 个帖子吧
    arcaitan
        2
    arcaitan  
    OP
       2020-04-26 10:32:13 +08:00
    @d5 不是这个意思,是比如一个论坛,假定每分钟大概会有 100 个帖子,我想帮忙顶一下没有人顶贴的帖子,给发帖人一点鼓励
    wangxiaoaer
        3
    wangxiaoaer  
       2020-04-26 10:45:28 +08:00
    @arcaitan #2 你自己的思路就可以,笨归笨,但有效,不过需要考虑论坛会不会封你账号。
    DGideas
        4
    DGideas  
       2020-04-26 10:46:12 +08:00
    最新主题

    相当于首页的“全部”这个 tab 下的最新内容。

    https://www.v2ex.com/api/topics/latest.json

    Method: GET
    Authentication: None
    DGideas
        5
    DGideas  
       2020-04-26 10:46:34 +08:00
    我记得其他的论坛系统一般都有 API 或者 RSS 吧?
    arcaitan
        6
    arcaitan  
    OP
       2020-04-26 10:52:19 +08:00
    @wangxiaoaer 号倒不一定会封,IP 之前被封过,所以其实找到合理的间隔时间,备用几个 IP 切换就行。

    我的问题其实就是,除了我说的这个很机械的隔几秒轮询,是不是有更高级的方法
    vicalloy
        7
    vicalloy  
       2020-04-26 11:01:18 +08:00
    这个得看网站提供哪些功能,以及网站的热度。

    拿 V2EX 来说,你可以专爬第二页的帖子,如果帖子掉到第二页还没有任何回帖再顶。
    这样爬虫的频率可以放到很低。
    xiaoxinshiwo
        8
    xiaoxinshiwo  
       2020-04-26 11:12:54 +08:00
    楼上的已经说了,写个爬虫啊
    mrgeneral
        9
    mrgeneral  
       2020-04-26 11:31:42 +08:00
    按照楼主的思路是网站运营人员?

    那自家人直接用定时服务就能扫出来符合要求的帖子去顶帖。

    如果不是自家人,那不就是爬虫抢沙发了吗?很大概率是广告机器人啊。
    arcaitan
        10
    arcaitan  
    OP
       2020-04-26 13:15:43 +08:00
    @mrgeneral 咦?那我用广告机器人这个关键字是不是可以找到相关解决方案。不是网站方,就是成员,想为论坛做点事,不是广告机器人,发广告会被禁用账号的
    Yourshell
        11
    Yourshell  
       2020-04-26 13:20:04 +08:00   ❤️ 1
    难以理解,如果有人在我管理的社区这么做我会封号的。
    arcaitan
        12
    arcaitan  
    OP
       2020-04-26 14:17:53 +08:00
    @Yourshell 以什么理由封号?假定我不是机器人,只是刚好一直在论坛上摸鱼,看到新帖就回呢?
    Yourshell
        13
    Yourshell  
       2020-04-26 14:26:37 +08:00
    @arcaitan 如果你的回复可以达到真人的效果、切合主题那当我没说,如果一个账户下大量与主题毫无关联的或如“顶帖”之类无意义的回复你作为管理者会放任吗?
    zhouweiluan
        14
    zhouweiluan  
       2020-04-26 14:29:00 +08:00
    @arcaitan 回什么呢?拿 V2 的氛围来说,不可能很多无人回复的贴子 1 楼都是一个「沙发|感谢发帖,帮顶一下|我也有同样疑问,等楼下一个解决办法」这样子的吧,大家都是有针对性的回复一个贴的内容,避免太水的回复出现。
    ——
    不过我们之前管理过一个手机 ROM 社区论坛,为了踊跃鼓励大家发帖,都会在出现新帖的时候大量的针对性回复“我也有同样疑问,蹲一个方法”“太感谢楼主分享了,马了”之类。但是这种用在 V2 就不合适了。
    yidinghe
        15
    yidinghe  
       2020-04-26 14:32:35 +08:00 via Android
    1 、通过定时请求列表页面来收集新出现的帖子 ID ; 2 、定时访问这些帖子页面,如果长时间没有回帖就抢沙发帮顶一次。
    arcaitan
        16
    arcaitan  
    OP
       2020-04-26 14:36:56 +08:00
    @zhouweiluan 对。小众论坛,不是 v2,随便玩玩的,基本上管理员不会管非广告贴之外的其他回帖。
    frantic
        17
    frantic  
       2020-04-26 17:23:52 +08:00
    用 Huginn 试试
    arcaitan
        18
    arcaitan  
    OP
       2020-04-26 17:39:07 +08:00
    @frantic 看上去不错,谢谢
    mercury233
        19
    mercury233  
       2020-04-26 17:41:54 +08:00 via Android
    没人的论坛上机器人或者回帖奖励机制=自寻死路
    正常人会被恶心走的
    arcaitan
        20
    arcaitan  
    OP
       2020-04-26 17:52:52 +08:00
    @mercury233 想多了,不至于。因为首页更新太快,很多人发的贴都得到任何人的目光就沉了,所以想帮顶一下,让它在首页多待一轮
    elfive
        21
    elfive  
       2020-04-27 08:04:05 +08:00 via iPhone
    看看,这就是劣币驱逐良币。你一个人毫无意义的顶帖,真正回复帖子的人被你顶到大家都看不到了。
    你觉得管理员真的不会管?小站本来收益就不多甚至没有,长此以往占用资源做无意义的事,要是我是管理员的话,关站,屏蔽 IP 段都是能接受的选项。
    arcaitan
        22
    arcaitan  
    OP
       2020-04-27 09:33:11 +08:00
    @elfive 你根本没看明白我的意图,也不了解有些小众论坛运行的规律,我做的事不是“占用资源做无意义的事”,事实上这是管理员非常欢迎的一件事,就像你说的,如果我做的事是管理员不欢迎的,那直接封禁我账号就可以了,也就不存在你所谓的劣币驱逐良币的行为了。
    forgottencoast
        23
    forgottencoast  
       2021-01-08 10:22:20 +08:00
    @arcaitan 如果都是一个账号在回复,为什么管理员欢迎的话为什么他不自己干?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2746 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 04:07 · PVG 12:07 · LAX 20:07 · JFK 23:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.