怎么判断一个论坛有新帖子出现,然后帮忙顶贴呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
arcaitan

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

  •  
  •   arcaitan 2020 年 4 月 26 日 3029 次点击
    这是一个创建于 2190 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. 我的账号有发帖回帖权限
    2. 想让这个账号成为一个机器人,monitor 这个论坛发帖情况,有人发帖就立刻顶贴抢沙发

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

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

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

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

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

    api/topics/latest.json

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

    我的问题其实就是,除了我说的这个很机械的隔几秒轮询,是不是有更高级的方法
    vicalloy
        7
    vicalloy  
       2020 年 4 月 26 日
    这个得看网站提供哪些功能,以及网站的热度。

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

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

    如果不是自家人,那不就是爬虫抢沙发了吗?很大概率是广告机器人啊。
    arcaitan
        10
    arcaitan  
    OP
       2020 年 4 月 26 日
    @mrgeneral 咦?那我用广告机器人这个关键字是不是可以找到相关解决方案。不是网站方,就是成员,想为论坛做点事,不是广告机器人,发广告会被禁用账号的
    Yourshell
        11
    Yourshell  
       2020 年 4 月 26 日   1
    难以理解,如果有人在我管理的社区这么做我会封号的。
    arcaitan
        12
    arcaitan  
    OP
       2020 年 4 月 26 日
    @Yourshell 以什么理由封号?假定我不是机器人,只是刚好一直在论坛上摸鱼,看到新帖就回呢?
    Yourshell
        13
    Yourshell  
       2020 年 4 月 26 日
    @arcaitan 如果你的回复可以达到真人的效果、切合主题那当我没说,如果一个账户下大量与主题毫无关联的或如“顶帖”之类无意义的回复你作为管理者会放任吗?
    zhouweiluan
        14
    zhouweiluan  
       2020 年 4 月 26 日
    @arcaitan 回什么呢?拿 V2 的氛围来说,不可能很多无人回复的贴子 1 楼都是一个「沙发|感谢发帖,帮顶一下|我也有同样疑问,等楼下一个解决办法」这样子的吧,大家都是有针对性的回复一个贴的内容,避免太水的回复出现。

    不过我们之前管理过一个手机 ROM 社区论坛,为了踊跃鼓励大家发帖,都会在出现新帖的时候大量的针对性回复“我也有同样疑问,蹲一个方法”“太感谢楼主分享了,马了”之类。但是这种用在 V2 就不合适了。
    yidinghe
        15
    yidinghe  
       2020 年 4 月 26 日 via Android
    1 、通过定时请求列表页面来收集新出现的帖子 ID ; 2 、定时访问这些帖子页面,如果长时间没有回帖就抢沙发帮顶一次。
    arcaitan
        16
    arcaitan  
    OP
       2020 年 4 月 26 日
    @zhouweiluan 对。小众论坛,不是 v2,随便玩玩的,基本上管理员不会管非广告贴之外的其他回帖。
    frantic
        17
    frantic  
       2020 年 4 月 26 日
    用 Huginn 试试
    arcaitan
        18
    arcaitan  
    OP
       2020 年 4 月 26 日
    @frantic 看上去不错,谢谢
    mercury233
        19
    mercury233  
       2020 年 4 月 26 日 via Android
    没人的论坛上机器人或者回帖奖励机制=自寻死路
    正常人会被恶心走的
    arcaitan
        20
    arcaitan  
    OP
       2020 年 4 月 26 日
    @mercury233 想多了,不至于。因为首页更新太快,很多人发的贴都得到任何人的目光就沉了,所以想帮顶一下,让它在首页多待一轮
    elfive
        21
    elfive  
       2020 年 4 月 27 日 via iPhone
    看看,这就是劣币驱逐良币。你一个人毫无意义的顶帖,真正回复帖子的人被你顶到大家都看不到了。
    你觉得管理员真的不会管?小站本来收益就不多甚至没有,长此以往占用资源做无意义的事,要是我是管理员的话,关站,屏蔽 IP 段都是能接受的选项。
    arcaitan
        22
    arcaitan  
    OP
       2020 年 4 月 27 日
    @elfive 你根本没看明白我的意图,也不了解有些小众论坛运行的规律,我做的事不是“占用资源做无意义的事”,事实上这是管理员非常欢迎的一件事,就像你说的,如果我做的事是管理员不欢迎的,那直接封禁我账号就可以了,也就不存在你所谓的劣币驱逐良币的行为了。
    forgottencoast
        23
    forgottencoast  
       2021 年 1 月 8 日
    @arcaitan 如果都是一个账号在回复,为什么管理员欢迎的话为什么他不自己干?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     848 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 55ms UTC 20:37 PVG 04:37 LAX 13:37 JFK 16:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86