V2ex 现在可以支持投票了。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
imdong
V2EX    分享创造

V2ex 现在可以支持投票了。

  •  17
     
  • imdong
    imdong 2020 年 5 月 20 日 23006 次点击
  • 这是一个创建于 2105 天前的主题,其中的信息可能已经有所发展或是发生改变。

    投票:你认为 V2EX 支持投票有意义么?

    昨天看到的是哪个帖子,说要投票功能的来着?

    今天正好我就搞了一下这个,功能很简单,就是抓取回复的内容,然后统计一下存到 Redis 缓存起来。

    投票的源数据依然在 V2EX 站内,我这边不做长期保存,但我尽量保证这个接口的可用性(如果没有被恶意 or 攻击的话)。

    然后看了下 V2EX 的 API 接口,似乎没有可以获取帖子信息的接口?

    目前是爬的页面,然后用正则表达式匹配内容,为了减轻压力,统计数据只在帖子被访问时被动更新,最多一分钟爬取一次,整体数据缓存 24 小时,24 小时内被访问,则只重新爬取最新回复(适用回复分页的情况)。

    暂时只支持单选,一个人只能投票一次(第一次有效回复为准),统计只与所在帖子和标题关联,同一个帖子可以多个投票,只要标题不同即可。

    同一个图片地址在不同的帖子,算不同的投票,数据是分开的。

    然后使用方法就是直接获取一个投票的图片地址,然后插入到主题即可,参与投票则回复 #选项标题#。

    V2ex 投票生成器 代码已开源: GitHub

    PS: 不知道爬虫行为是否被允许,如果违规请 @Livid 说一下,或者给一个允许的频率。

    另:由于代码是盲写,可能还有些问题,后续如果出现频率问题,我会限制抓取为 1 秒钟请求一次(全局)。

    第 1 条附言    2020 年 5 月 20 日

    稍微调整了显示的字体样式。

    由于要一套方案同时兼顾黑白两种背景,又不想加背景色,所以只能尽量选择折中的颜色了,这也导致了在两个颜色下都不够明显了...白色背景下不够黑,黑色背景下不够亮...

    关于字体太大的问题,参考 v站 的风格,字体选择为一样了,大小稍微调小了一点。

    其他的样式外观设计问题,直男审美已经发挥到极限了,有大佬愿意的话可以考虑帮忙调整一下?

    体验差 / 评论区看不下去

    由于投票导致评论区都是单一的评论,也从引导文案上稍微改了一下,希望能对评论区稍微友好一点。

    关于使用体验问题,(第三方)似乎没有更好的方案了,svg 可以加入带连接按钮来实现点击投票,但是 v站 只能发图片,而 svg 以图片插入时不能交互,而且就算可以交互,站外投票又会有刷票之类的问题。

    不想手打选项

    图片是 SVG 图片,如果拖动图片到新窗口打开,是可以选择复制选项的内容的。

    后续我会在 复制 Markdown 代码的地方把问题和选项一并复制。

    这些问题是不是 BUG?

    1. 评论没有更新:由于是第三方爬取票数,统计有大约1分钟的延迟(暂时,可能会更长)

    2. 票数不正确:首先看是否延迟问题,统计以来路(仅V站)帖子id为准,如果未识别到来路的帖子 ID 则随机生成票数供预览

    3. 未投票可见结果:由于第三方,暂时没有想到更好的办法,无法实现,并且每个人需求不同,难以满足(曲线救国:跟踪用户,刷新后票数可见)...

    4. 匿名投票:同上...

    5. 骗回(tong)复(bi)的方法增加了:新技能 Get

      另:感谢诸位热心的小朋友在评论区的测试

    288 条回复    2020-05-26 11:03:51 +08:00
    1  2  3  
    imdong
        1
    imdong  
    OP
       2020 年 5 月 20 日
    首次上线生产环境,当然是自己要先测试一下有没有 BUG 了。

    我选择#有意义#,但为了测试 BUG,我投 #无所谓#应该不计入票数才对。
    wingoo
        2
    wingoo  
       2020 年 5 月 20 日
    挺好玩的, 就是 黑色背景时, 标题看不到了, 需要适配下 #需要更好的#
    Mac
        3
    Mac  
       2020 年 5 月 20 日
    投票不匿名和微博评论只显示精华一样没参考价值
    #无所谓#
    baobao1270
        4
    baobao1270  
       2020 年 5 月 20 日 via Android   1
    我认为非官方支持#没有意义#,顺便测试有没有语义识别功能
    syahd
        5
    syahd  
       2020 年 5 月 20 日
    #有意义#,但是服务器顶得住吗
    kera0a
        6
    kera0a  
       2020 年 5 月 20 日 via iPhone
    #有意义#

    不过黑色主题下不好看,
    不是网页浏览的话显示的数据有误
    kera0a
        7
    kera0a  
       2020 年 5 月 20 日 via iPhone
    黑色背景下的效果
    https://sm.ms/image/rIy1WmdXQwVxnGR
    runking
        8
    runking  
       2020 年 5 月 20 日
    #无所谓##有意义##没有意义#
    #有意义##没有意义##无所谓#
    #没有意义##无所谓##有意义#
    我是来测试的
    mogita
        9
    mogita  
       2020 年 5 月 20 日
    #有意义#
    思路有趣。同 #2 的设计上再加把劲,黑字标题不说还真没看到。。
    ryh
        10
    ryh  
       2020 年 5 月 20 日   1
    站长估计又哭又笑,笑的是 又可以少一个功能和开支, 哭的是怎么这么多人瞎操心
    Yangz
        11
    Yangz  
       2020 年 5 月 20 日
    #需要更好的#
    YUX
        12
    YUX  
    PRO
       2020 年 5 月 20 日
    非常#有意义#
    dremy
        13
    dremy  
       2020 年 5 月 20 日 via iPhone
    从技术的角度来看,这种实现方式效率太低,#没有意义#

    但毕竟也提供了这个功能,从非技术的角度来讲,还是#有意义#的

    顺便测试下一个评论能否投两票…
    imdong
        14
    imdong  
    OP
       2020 年 5 月 20 日
    @wingoo @kera0a @ck65 谢谢提醒,才想起来还有夜间模式,等下我去看下怎么调颜色可以在两个色系下都比较清晰吧。

    @Mac 我倒不认为匿名投票是首要,首要是投票前不能查看结果才是重要的。

    @baobao1270 报告大人,臣妾能力有限,做不到啊!!!

    @whwq2012 我很怕顶不住,如果用的人多了,爬起来会被屏蔽 IP,昨晚测试的时候,就被封了一次...

    @runking 谢谢测试,看起来是没问题呢。

    @ryh Livid 内心:这群人都不上班的么,都开始吃萝卜了...

    @dremy 从目前来看,如果官方没出功能的话,恐怕难有更高效的实现了。(测试通过,一票有效)
    wulu
        15
    wulu  
       2020 年 5 月 20 日 via Android
    #需要更好的#
    treizeor
        16
    treizeor  
       2020 年 5 月 20 日
    没意义
    Telegram
        17
    Telegram  
       2020 年 5 月 20 日
    说实话,这个想法我以前想过的,哈哈
    qistchan
        18
    qistchan  
       2020 年 5 月 20 日
    #有意义#
    love
        19
    love  
       2020 年 5 月 20 日
    可以把选某个分支的人一键拉黑吗
    laoyur
        20
    laoyur  
       2020 年 5 月 20 日
    #有意义#,但没必要
    你的爬虫容易挂
    而且有些帖子你不一定爬得到吧(比如被进入某些著名节点后
    JJstyle
        21
    JJstyle  
       2020 年 5 月 20 日
    #有意义# 赞,限制一下频率就可以了,但是确实还#需要更好的#
    JJstyle
        22
    JJstyle  
       2020 年 5 月 20 日
    果然不能双投 @dremy
    CRight
        23
    CRight  
       2020 年 5 月 20 日 via Android
    #有意义# 很直观,就不用爬楼了
    azh7138m
        24
    azh7138m  
       2020 年 5 月 20 日 via Android
    ( ··)#需要更好的# (··)
    santheniko
        25
    santheniko  
       2020 年 5 月 20 日
    #需要更好的
    nathanw
        26
    nathanw  
       2020 年 5 月 20 日
    #有意义# 日经帖可以少了很多
    1069401249
        27
    1069401249  
       2020 年 5 月 20 日
    #有意义#
    LokiSharp
        28
    LokiSharp  
       2020 年 5 月 20 日
    #没意义# 非匿名的没啥意义
    wellwell
        30
    wellwell  
       2020 年 5 月 20 日
    #有意义#
    x66
        31
    x66  
       2020 年 5 月 20 日
    #有意义#想法不错,建议加上投票前是否可以查看结果的选项
    letking
        32
    letking  
       2020 年 5 月 20 日 via Android
    #无所谓#
    Maboroshii
        33
    Maboroshii  
       2020 年 5 月 20 日
    #有趣#
    a494836960
        34
    a494836960  
       2020 年 5 月 20 日
    #有意义#
    caijunyi
        35
    caijunyi  
       2020 年 5 月 20 日
    #有意义# 感觉不错的样子!
    mokeyjay
        36
    mokeyjay  
       2020 年 5 月 20 日
    哈哈哈有趣 #有意义#
    Fx8m
        37
    Fx8m  
       2020 年 5 月 20 日
    非常#有意义#
    Duede
        38
    Duede  
       2020 年 5 月 20 日 via Android
    #有意义#
    alphatoad
        39
    alphatoad  
       2020 年 5 月 20 日
    可以这样嘛,我发几个选项,你们给我点赞就行了
    smallyu
        40
    smallyu  
       2020 年 5 月 20 日
    #有意义#
    #没意义#
    #需要更好的#
    ETO
        41
    ETO  
       2020 年 5 月 20 日
    #有意义#
    hheedat
        42
    hheedat  
       2020 年 5 月 20 日
    #有意义# 挺有意思的,赞一个
    Duede
        43
    Duede  
       2020 年 5 月 20 日 via Android
    #如果多一个选项#
    motan
        44
    motan  
       2020 年 5 月 20 日
    #无所谓#
    #无所谓#
    #无所谓#
    lepchaos
        45
    lepchaos  
       2020 年 5 月 20 日
    #需要更好的# 测试一下
    bibizhang
        46
    bibizhang  
       2020 年 5 月 20 日
    #没意义#
    szyp
        47
    szyp  
       2020 年 5 月 20 日
    #有意义#
    rebel28
        48
    rebel28  
       2020 年 5 月 20 日
    #有意义# 只站队的话还是匿名会好一点
    hatw
        49
    hatw  
       2020 年 5 月 20 日
    #无所谓#
    #无所谓#
    #无所谓#
    test 。。。。。
    hh4646908
        50
    hh4646908  
       2020 年 5 月 20 日
    #有意义#
    lawler
        51
    lawler  
       2020 年 5 月 20 日
    #可以新建投票 select,而且是个超长的 select,并且有><script>alert(1)</script>'.>$%/*. 过滤吗?#
    glorifiedatom
        52
    glorifiedatom  
       2020 年 5 月 20 日 via iPhone
    好东西 #有意义#
    anonymm
        53
    anonymm  
       2020 年 5 月 20 日
    #需要更好的#
    doveyoung
        54
    doveyoung  
       2020 年 5 月 20 日   1
    #来份炒饭#
    lnim
        55
    lnim  
       2020 年 5 月 20 日
    #有意义#
    morizawatt
        56
    morizawatt  
       2020 年 5 月 20 日
    #有意义# 没必要匿名
    yu5121199
        57
    yu5121199  
       2020 年 5 月 20 日
    #有意义#
    woscaizi
        58
    woscaizi  
       2020 年 5 月 20 日
    #真的可以投票吗?#
    K1W1
        59
    K1W1  
       2020 年 5 月 20 日
    #有意义# 很赞
    woscaizi
        60
    woscaizi  
       2020 年 5 月 20 日
    #更新时间是多久?#
    EminemW
        61
    EminemW  
       2020 年 5 月 20 日
    #有意义#
    yngby
        62
    yngby  
       2020 年 5 月 20 日
    #有意义#
    dumbass
        63
    dumbass  
       2020 年 5 月 20 日
    #无所谓#
    SENSIR
        64
    SENSIR  
       2020 年 5 月 20 日 via Android
    #有意义#
    designer
        65
    designer  
       2020 年 5 月 20 日 via iPhone
    有意义
    ewBuyVmLZMZE
        66
    ewBuyVmLZMZE  
       2020 年 5 月 20 日
    #无所谓# 我看你服务器能不能抗住。
    leaves7i
        67
    leaves7i  
       2020 年 5 月 20 日
    #没意义#有意义#
    qq525266
        68
    qq525266  
       2020 年 5 月 20 日
    #无所谓#
    lovelive1024
        69
    lovelive1024  
       2020 年 5 月 20 日
    #无所谓#
    kisshere
        70
    kisshere  
       2020 年 5 月 20 日
    没#有意义#
    HolmLoh
        71
    HolmLoh  
       2020 年 5 月 20 日
    #需要更好的#
    tutustream
        72
    tutustream  
       2020 年 5 月 20 日
    #有意义#
    leaves7i
        73
    leaves7i  
       2020 年 5 月 20 日
    #其他#
    Junn
        74
    Junn  
       2020 年 5 月 20 日
    cxzweb
        75
    cxzweb  
       2020 年 5 月 20 日
    #有意义#
    ericwoflskin
        76
    ericwoflskin  
       2020 年 5 月 20 日
    #有意义#
    flowerains
        77
    flowerains  
       2020 年 5 月 20 日
    #没意义#

    非官方支持意味着服务器的稳定性存疑,这种必定做不长的东西还是放弃吧
    Sfilata
        78
    Sfilata  
       2020 年 5 月 20 日
    #有意义##需要更好的##测试#
    gaoryrt
        79
    gaoryrt  
       2020 年 5 月 20 日
    测试##有意义#没有意义##
    Rico802
        80
    Rico802  
       2020 年 5 月 20 日
    #有意义#
    real3cho
        81
    real3cho  
       2020 年 5 月 20 日
    #可以但没必要#
    mopig
        82
    mopig  
       2020 年 5 月 20 日
    ##
    viosey
        83
    viosey  
       2020 年 5 月 20 日
    #有意义#
    ShundL
        84
    ShundL  
       2020 年 5 月 20 日
    #有意义#
    component
        85
    component  
       2020 年 5 月 20 日
    #有意义#
    michaelcheng
        86
    michaelcheng  
       2020 年 5 月 20 日
    #有意义#
    awen233333
        87
    awen233333  
       2020 年 5 月 20 日
    #有意义#
    #有意义#
    #没意义#
    #没意义#
    ahaxzh
        88
    ahaxzh  
       2020 年 5 月 20 日
    h9VZ3hilI68DVl36
        89
    h9VZ3hilI68DVl36  
       2020 年 5 月 20 日
    #有意义#
    h9VZ3hilI68DVl36
        90
    h9VZ3hilI68DVl36  
       2020 年 5 月 20 日
    #有意义##有意义#
    hws8033856
        91
    hws8033856  
       2020 年 5 月 20 日   1
    #需要更好的');DROP TABEL toupiao;SELECT ('#
    ahaxzh
        92
    ahaxzh  
       2020 年 5 月 20 日
    感觉不好做统计 哈哈
    cpsony
        93
    cpsony  
       2020 年 5 月 20 日
    #无所*# #有意义#
    hooopo
        94
    hooopo  
       2020 年 5 月 20 日 via Android
    你做没意义 站长做有意义
    biantaoGG
        95
    biantaoGG  
       2020 年 5 月 20 日
    #无所谓#
    lefer
        96
    lefer  
       2020 年 5 月 20 日
    非常#有意义#
    hst001
        97
    hst001  
       2020 年 5 月 20 日
    #重金求子#
    cloudfox
        98
    cloudfox  
       2020 年 5 月 20 日
    字太大了,有点丑
    E2gCaBAT5I87sw1M
        99
    E2gCaBAT5I87sw1M  
       2020 年 5 月 20 日
    #有意义#
    #没意义#
    #需要更好的#
    Vanctol
        100
    Vanctol  
       2020 年 5 月 20 日
    #有意义#
    1  2  3  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     679 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 21:07 PVG 05:07 LAX 13:07 JFK 16:07
    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