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

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

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

投票:你认为 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  
wintersun
    102
wintersun  
   2020-05-20 15:14:34 +08:00
投票功能很有用。

但非官方、功能不完善的,感觉#没意义# #需要更好的#
justicelaw
    103
justicelaw  
   2020-05-20 15:18:35 +08:00
#有意义#
ant4ly
    104
ant4ly  
   2020-05-20 15:19:05 +08:00
#有意义#
BBCCBB
    105
BBCCBB  
   2020-05-20 15:20:10 +08:00
#lz 想法不错#
blackshh
    106
blackshh  
   2020-05-20 15:20:21 +08:00
#有意义#
andrewpsy
    107
andrewpsy  
   2020-05-20 15:24:02 +08:00
#有意义#
AllenHua
    108
AllenHua  
   2020-05-20 15:26:14 +08:00
#有意义#
ghouleztt
    109
ghouleztt  
   2020-05-20 15:31:20 +08:00
#有意义#
huaxq01
    110
huaxq01  
   2020-05-20 15:32:46 +08:00
#有意义#
yukun666
    111
yukun666  
   2020-05-20 15:36:02 +08:00
#无所谓#
allenforrest
    112
allenforrest  
   2020-05-20 15:36:41 +08:00
#有意义#
lanhaooclub
    113
lanhaooclub  
   2020-05-20 15:37:54 +08:00 via Android
#有意义#
paloalto
    114
paloalto  
   2020-05-20 15:39:26 +08:00
#需要更好的#
JankinAnn
    115
JankinAnn  
   2020-05-20 15:41:06 +08:00
#有意义#
JankinAnn
    116
JankinAnn  
   2020-05-20 15:41:28 +08:00
#有意义# 重复投票 TEST
pan020037
    117
pan020037  
   2020-05-20 15:44:00 +08:00
#有意义#
huyi23
    118
huyi23  
   2020-05-20 15:52:42 +08:00   ❤️ 1
#<script>alert(1)</script>#
zaul
    119
zaul  
   2020-05-20 15:53:13 +08:00
#无所谓#
bullettrain1433
    120
bullettrain1433  
   2020-05-20 15:55:22 +08:00
#无所谓#
SakuraKuma
    121
SakuraKuma  
   2020-05-20 15:56:20 +08:00
#有意义#
twor2
    122
twor2  
   2020-05-20 15:56:25 +08:00
#有意义#
#没意义#
#需要更好的#
xunco
    123
xunco  
   2020-05-20 15:59:44 +08:00
#需要更好的#
BigYao
    124
BigYao  
   2020-05-20 16:00:17 +08:00
#有意义#
microka
    125
microka  
   2020-05-20 16:00:36 +08:00
#需要更好的#
只能说楼主出发点是好的,但我个人认为:一、这种投票方式对用户不友好;二、用爬页面来反馈生成投票结果的实现方式也不理想。
maplelin
    126
maplelin  
   2020-05-20 16:00:41 +08:00
#有意义#
#需要更好的#
zydxn
    127
zydxn  
   2020-05-20 16:02:28 +08:00
#需要更好的#
TonyShng
    128
TonyShng  
   2020-05-20 16:04:06 +08:00
#有意义#
BestSera
    129
BestSera  
   2020-05-20 16:04:23 +08:00
#无所谓#
d1n910
    130
d1n910  
   2020-05-20 16:05:35 +08:00
#有意义#
#需要更好的#
jmjc
    131
jmjc  
   2020-05-20 16:06:04 +08:00
#无所谓#
kitebear
    132
kitebear  
   2020-05-20 16:19:27 +08:00
#有意义#
#需要更好的#
ACodelover
    133
ACodelover  
   2020-05-20 16:19:58 +08:00
#有意义#
iszengmh
    134
iszengmh  
   2020-05-20 16:25:16 +08:00 via Android
我看成股票了
ytll21
    135
ytll21  
   2020-05-20 16:25:47 +08:00
#需要更好的#
DoubleShut
    136
DoubleShut  
   2020-05-20 16:28:27 +08:00
#有意义#
leesinquan
    137
leesinquan  
   2020-05-20 16:28:45 +08:00
#有意义#
Tays
    138
Tays  
   2020-05-20 16:29:49 +08:00
#有意义#
quxiangxuanqxx
    139
quxiangxuanqxx  
   2020-05-20 16:30:20 +08:00
#需要更好的#
ZeroW
    140
ZeroW  
   2020-05-20 16:31:49 +08:00
#有意义#
akakidz
    141
akakidz  
   2020-05-20 16:33:14 +08:00
#需要更好的#
xtx
    142
xtx  
   2020-05-20 16:33:30 +08:00 via iPhone
#需要更好的#
ID2333
    143
ID2333  
   2020-05-20 16:33:55 +08:00
#需要更好的#
sugarkeek
    144
sugarkeek  
   2020-05-20 16:34:52 +08:00
#有意义#
TrembleBeforeMe
    145
TrembleBeforeMe  
   2020-05-20 16:37:43 +08:00
#需要更好的#
abcde51111
    146
abcde51111  
   2020-05-20 16:41:23 +08:00
#有意义#
skyaiwh
    147
skyaiwh  
   2020-05-20 16:45:23 +08:00
#有意义#
bravecarrot
    148
bravecarrot  
   2020-05-20 16:46:33 +08:00 via iPhone
#无所谓#
hereIsChen
    149
hereIsChen  
   2020-05-20 16:47:46 +08:00
#有意义#
Guys
    150
Guys  
   2020-05-20 16:51:46 +08:00
#有意义#
crll
    151
crll  
   2020-05-20 16:52:35 +08:00 via iPhone
#无所谓#
xuhp
    152
xuhp  
   2020-05-20 16:54:40 +08:00
#有意义#
SimonOne
    153
SimonOne  
   2020-05-20 16:57:00 +08:00
#无所谓#
jsondog
    154
jsondog  
   2020-05-20 16:57:15 +08:00
#没意义#
Maxbee
    155
Maxbee  
   2020-05-20 16:58:07 +08:00
#无意义#
huiyifyj
    156
huiyifyj  
   2020-05-20 17:00:27 +08:00
#无所谓#
skyrem
    157
skyrem  
   2020-05-20 17:02:11 +08:00
#有意义#
建议配色这里取
https://colorhunt.co/
NeedforV2
    158
NeedforV2  
   2020-05-20 17:09:35 +08:00
#有意义#

要是能再简单些就好了
hjw45611
    159
hjw45611  
   2020-05-20 17:09:53 +08:00
看成了股票。。
韭菜的自我修养。
songsong
    161
songsong  
   2020-05-20 17:15:35 +08:00
#有意义#
songsong
    162
songsong  
   2020-05-20 17:16:25 +08:00
#没意义#
littleangel
    163
littleangel  
   2020-05-20 17:17:04 +08:00
#没意义#
zhw2590582
    164
zhw2590582  
   2020-05-20 17:18:55 +08:00
#有意义#
songsong
    165
songsong  
   2020-05-20 17:20:29 +08:00   ❤️ 1
如果投票条件很长很长, 那么回复投票后, 评论区会变得很很大的一篇无意义的文字, 影响阅读, 建议把抓取改为抓问题

编号, 回复投票 1 2 3 或者 #1 #2 #3 这样使得页面更简洁, 不会让评论变的大篇幅的相同文字
Xi
    166
Xi  
   2020-05-20 17:21:33 +08:00
#有意义#
inkdie
    167
inkdie  
   2020-05-20 17:22:35 +08:00
#有意义#
但是评论区没法看了,太乱了
miniwade514
    168
miniwade514  
   2020-05-20 17:23:23 +08:00
#有意思#
X3en
    169
X3en  
   2020-05-20 17:24:58 +08:00
#有点厉害#
esons
    170
esons  
   2020-05-20 17:25:16 +08:00
#有意义#
nostars
    171
nostars  
   2020-05-20 17:28:09 +08:00
#有意义#
lldld
    172
lldld  
   2020-05-20 17:32:44 +08:00
#有意义# 感谢! 希望站主支持
massacreformash
    173
massacreformash  
   2020-05-20 17:35:28 +08:00
#有意义#
真的能增加么
ftu
    174
ftu  
   2020-05-20 17:43:38 +08:00
#有意义# 为啥只看到 5 票
dddiao
    175
dddiao  
   2020-05-20 18:00:18 +08:00
#有意义#
araaaa
    176
araaaa  
   2020-05-20 18:03:04 +08:00
#需要更好的#
maypu
    177
maypu  
   2020-05-20 18:04:15 +08:00 via Android
#没意义#
#需要更好的#
lswl66
    178
lswl66  
   2020-05-20 18:05:19 +08:00
#有意义#
running17
    179
running17  
   2020-05-20 18:05:33 +08:00
#有意义#
zhibushiwo
    180
zhibushiwo  
   2020-05-20 18:07:10 +08:00 via Android
#没意义#
第一眼看成股票了 lol
lneoi
    181
lneoi  
   2020-05-20 18:09:35 +08:00
#需要更好的#
wdd2007
    182
wdd2007  
   2020-05-20 18:13:59 +08:00
挺有想法的
h503mc
    183
h503mc  
   2020-05-20 18:14:26 +08:00 via iPhone
#没意义#
然后评论区就有问题了
NeezerGu
    184
NeezerGu  
   2020-05-20 18:18:14 +08:00
#test##有意义##有意义##有意义##有意义##有意义##有意义##有意义#
#没意义##没意义##没意义##没意义##没意义##没意义##没意义##没意义#
JmmBite
    185
JmmBite  
   2020-05-20 18:20:27 +08:00
#HELLO WORLD#
bl
    186
bl  
   2020-05-20 18:22:48 +08:00
#需要更好的#
wzw
    187
wzw  
   2020-05-20 18:25:30 +08:00 via iPhone
#有意义#
tyx1703
    188
tyx1703  
   2020-05-20 18:27:49 +08:00
#会创建一个新的选项吗?#
ombr4
    189
ombr4  
   2020-05-20 18:31:43 +08:00
#有意义#
#需要更好的#
neverandy
    190
neverandy  
   2020-05-20 18:32:47 +08:00
#需要更好的#
leoleoasd
    191
leoleoasd  
   2020-05-20 18:46:00 +08:00
#有意义#
hobbyliu
    192
hobbyliu  
   2020-05-20 18:54:17 +08:00
#有意义#
wssy
    193
wssy  
   2020-05-20 18:59:10 +08:00 via Android
建议 @Livid 内置一个,这样爬数据会造成不必要的服务器压力
mayx
    194
mayx  
   2020-05-20 19:03:41 +08:00 via Android
设计的挺有意思,我觉得如果能搞成通用的话就更好了
#无所谓#
zooo
    195
zooo  
   2020-05-20 19:04:49 +08:00
#有意义#
有看到 v 友自己统计下面的支持的观点

可以把投票门槛设置高点吗
防止乱投票
daimiaopeng
    196
daimiaopeng  
   2020-05-20 19:20:45 +08:00
#有意义#
Linon
    197
Linon  
   2020-05-20 19:27:26 +08:00 via Android
#有意义#
FuturesXu
    198
FuturesXu  
   2020-05-20 19:29:31 +08:00
#有意义# 很好啊,社区内可以做一些小调查
LionXen
    199
LionXen  
   2020-05-20 19:37:27 +08:00
#有意义#
xiaominglui
    200
xiaominglui  
   2020-05-20 19:42:11 +08:00
#有意义#
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3338 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 40ms · UTC 13:23 · PVG 21:23 · LAX 06:23 · JFK 09:23
Developed with CodeLauncher
♥ Do have faith in what you're doing.