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

V2ex 现在可以支持投票了。

  a href="/member/imdong">imdong
imdong 2020-05-20 11:47:43 +08:00 22279 次点击
这是一个创建于 2019 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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

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

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

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

第 1 条附言    2020-05-20 19:01:41 +08:00

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

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

关于字体太大的问题,参考 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-05-20 11:49:14 +08:00
首次上线生产环境,当然是自己要先测试一下有没有 BUG 了。

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

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

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

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

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

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

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

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

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

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

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