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

🗳V2ex 现在可以支持投票了。

  imdong ·
imdong · 2020-05-20 11:47:43 +08:00 · 20466 次点击
这是一个创建于 1632 天前的主题,其中的信息可能已经有所发展或是发生改变。

投票:你认为 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
我认为非官方支持#没有意义#,顺便测试有没有语义识别功能
whwq2012
    5
whwq2012  
   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
#无所谓##有意义##没有意义#
#有意义##没有意义##无所谓#
#没有意义##无所谓##有意义#
我是来测试的
ck65
    9
ck65  
   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  
   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
    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
#有意义#
bojackhorseman
    63
bojackhorseman  
   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
#无所谓#
ily433664
    69
ily433664  
   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
字太大了,有点丑
winnie2012
    99
winnie2012  
   2020-05-20 15:00:55 +08:00
#有意义#
#没意义#
#需要更好的#
Vanctol
    100
Vanctol  
   2020-05-20 15:05:38 +08:00
#有意义#
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3410 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 11:14 · PVG 19:14 · LAX 03:14 · JFK 06:14
Developed with CodeLauncher
♥ Do have faith in what you're doing.