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

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

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

投票:你认为 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  
RongAi
    201
RongAi  
   2020-05-20 19:56:42 +08:00
#需要更好的#
hzlzh
    202
hzlzh  
   2020-05-20 20:00:50 +08:00
#有意义# #需要更好的# 如果官方做那更好
baiduyixia
    203
baiduyixia  
   2020-05-20 20:12:07 +08:00
#没意义#
shakoon
    204
shakoon  
   2020-05-20 20:21:17 +08:00
这种插件很不错呢 #有意义#
7gugu
    205
7gugu  
   2020-05-20 20:29:42 +08:00 via Android
#需要更好的#
Koucha
    206
Koucha  
   2020-05-20 20:36:23 +08:00
#需要更好的#说实话感觉颜色有点丑
douglas1997
    207
douglas1997  
   2020-05-20 21:01:29 +08:00
表明观点的东西,有什么意义。我觉得这个功能没有什么必要,在极少数的情况下可能有用罢了。
Aluhao
    208
Aluhao  
   2020-05-20 21:06:14 +08:00
#有意义#
laycher
    209
laycher  
   2020-05-20 21:08:21 +08:00
#有意思# 要是选型没匹配上,就抛弃了吧
niubikelasi
    210
niubikelasi  
   2020-05-20 21:15:58 +08:00
#有意义#
tommyxps
    211
tommyxps  
   2020-05-20 21:22:14 +08:00
#有意义#
lscho
    212
lscho  
   2020-05-20 21:34:20 +08:00
#无所谓#
danbai
    213
danbai  
   2020-05-20 21:47:04 +08:00
#有意义#
mxT52CRuqR6o5
    214
mxT52CRuqR6o5  
   2020-05-20 22:02:35 +08:00
#有意义#
感觉是不是可以用 cloudfalre 的那个 serverless 去做,不要数据库也不要钱,就是可能会增加 V2EX 的压力
GTD
    215
GTD  
   2020-05-20 22:19:17 +08:00
#有意义#
xiaopenyou
    216
xiaopenyou  
   2020-05-20 22:24:55 +08:00
#需要更好的#
css3
    217
css3  
   2020-05-20 22:29:56 +08:00
#有意义#
但是喜欢按钮投票
jsxhhyf
    218
jsxhhyf  
   2020-05-20 22:33:35 +08:00
#需要更好的# 通过回复投票还是感觉太不方便了
missqso
    219
missqso  
   2020-05-20 23:06:25 +08:00
#需要更好的#
Jianrry
    220
Jianrry  
   2020-05-20 23:42:43 +08:00
#需要更好的#
SpiderXiantang
    221
SpiderXiantang  
   2020-05-21 00:27:56 +08:00
我觉得需要官方支持 以评论的方式显示不是一个好的方式 因为 V2EX 向来都是一个比较注重回复质量的社区
vicence
    222
vicence  
   2020-05-21 02:04:06 +08:00
#有意义#
Perry
    223
Perry  
   2020-05-21 02:17:16 +08:00
#需要更好的#
beanrobbie
    224
beanrobbie  
   2020-05-21 02:46:00 +08:00
#有意义# ,无所谓和要更好的容易理解,感觉「无意义」的同学咋想的,投票就是一种激励个人抒发看法和内心想法的方式,能够更好的促进讨论和交流,也就能帮助到更多的人,怎么可能无意义。
lulinux
    225
lulinux  
   2020-05-21 03:15:06 +08:00 via Android
#需要更好的# 鼠标点击容易多了
mogami18
    226
mogami18  
   2020-05-21 04:10:06 +08:00
#有意义#
exploreexe
    227
exploreexe  
   2020-05-21 05:29:37 +08:00
#有意义#
exploreexe
    228
exploreexe  
   2020-05-21 05:30:20 +08:00
有点东西 感谢已发送
zhouzm
    229
zhouzm  
   2020-05-21 07:54:31 +08:00
#需要更好的# 还是希望 V2EX 自己实现这个功能
metrue
    230
metrue  
   2020-05-21 08:16:34 +08:00
#有意义# 而且作者这个方法有意思。
zhw2590582
    231
zhw2590582  
   2020-05-21 08:29:13 +08:00
界面不一定要个网站背景色融合啊,自己整体风格协调就可以了
wpaygp
    232
wpaygp  
   2020-05-21 08:36:24 +08:00
#有意义#
fuwu1245
    233
fuwu1245  
   2020-05-21 08:37:05 +08:00
#有意义# 实践是检验真理的唯一标准
antonlee
    234
antonlee  
   2020-05-21 08:42:39 +08:00
#需要更好的# 同意#229
cogito
    235
cogito  
   2020-05-21 09:01:42 +08:00
#需要更好的#靠回复有点降低评论质量
leon2013
    236
leon2013  
   2020-05-21 09:03:10 +08:00
#有意义# #需要更好的# 如果官方做那更好
ForeverYoung123
    237
ForeverYoung123  
   2020-05-21 09:12:05 +08:00
#有意义#
183387594
    238
183387594  
   2020-05-21 09:16:18 +08:00
#有意义#
dzdh
    239
dzdh  
   2020-05-21 09:16:51 +08:00
#有意义#
MuscleOf2016
    240
MuscleOf2016  
   2020-05-21 09:18:23 +08:00
#有意义#
ivanyin
    241
ivanyin  
   2020-05-21 09:19:52 +08:00
#有意义#
gamexg
    242
gamexg  
   2020-05-21 09:24:45 +08:00
#需要更好的#
jaylong
    243
jaylong  
   2020-05-21 09:25:43 +08:00
#有意义#
zifangsky
    244
zifangsky  
   2020-05-21 09:27:08 +08:00
#有意义#
bolice
    245
bolice  
   2020-05-21 09:30:25 +08:00
#有意义# #需要更好的# 期待官方的,鼠标点选,而非大片无意义回复,冲刷了本来讨论区的功能。
xjmroot
    246
xjmroot  
   2020-05-21 09:36:03 +08:00
#需要更好的#
FFFire
    247
FFFire  
   2020-05-21 09:36:19 +08:00
#有意义# #需要更好的# 能开放接口就好了
tonfy
    248
tonfy  
   2020-05-21 09:41:25 +08:00
#有意义#
mfu
    249
mfu  
   2020-05-21 09:43:07 +08:00
#有意义#
toxicant
    250
toxicant  
   2020-05-21 09:43:41 +08:00
#需要更好的#
cccy0
    251
cccy0  
   2020-05-21 09:49:34 +08:00
#有意义#
mauve
    252
mauve  
   2020-05-21 09:51:26 +08:00
#有意义#
mauve
    253
mauve  
   2020-05-21 09:51:50 +08:00
#有意义#哈
wugiro
    254
wugiro  
   2020-05-21 09:53:23 +08:00
#需要更好的#
songyijie
    255
songyijie  
   2020-05-21 09:59:02 +08:00
#需要更好的#
cue
    256
cue  
   2020-05-21 09:59:57 +08:00
看成了支持股票
cumshot
    257
cumshot  
   2020-05-21 10:05:55 +08:00
#需要更好的#
yuankui
    258
yuankui  
   2020-05-21 10:06:31 +08:00
请问楼主,投票和帖子关联是通过 svg 请求的 referer 来关联的吗?
think2011
    259
think2011  
   2020-05-21 10:07:07 +08:00
看成开支票
darkjoker
    260
darkjoker  
   2020-05-21 10:08:10 +08:00
#需要更好的#
GoLand
    261
GoLand  
   2020-05-21 10:21:02 +08:00
#有意义#
pilotgalahad
    262
pilotgalahad  
   2020-05-21 10:27:16 +08:00
#需要更好的#
imdong
    263
imdong  
OP
   2020-05-21 10:57:00 +08:00
@yuankui 是的,目前是这样实现的。
ExplorerLog
    264
ExplorerLog  
   2020-05-21 11:04:14 +08:00
#需要更好的#
Xusually
    265
Xusually  
   2020-05-21 11:05:35 +08:00
#没意义#
gxm123gxm
    266
gxm123gxm  
   2020-05-21 11:06:48 +08:00
还是有价值的,比如昨天看到的密码管理器的统计,这种投票可以作为一种选择参考。但以回复的形式来做选择这个确实太奇怪了。光回复个选项内容并没有什么作为回复的交流价值
xiaowudesign
    267
xiaowudesign  
   2020-05-21 11:07:38 +08:00
#有意义# #需要更好的#
hjosama
    268
hjosama  
   2020-05-21 11:10:06 +08:00
#有意义# 牛逼
saymoon
    269
saymoon  
   2020-05-21 11:25:33 +08:00
#有意义# #需要更好的#
imdong
    270
imdong  
OP
   2020-05-21 11:26:52 +08:00
@gxm123gxm 看到最后我也发现,投票都变成了无意义投票了(见鬼,铜币不值钱了么?)其实我更希望看到的是类似这样的回复:

由于 1Password 收费,迫于穷,我选择#KeePass#,我的时间不值钱。
killerv
    271
killerv  
   2020-05-21 11:30:23 +08:00
#有意义# 楼主这个做的有意思
cnwlei
    272
cnwlei  
   2020-05-21 11:32:10 +08:00
#有意义#
muskill
    273
muskill  
   2020-05-21 11:34:06 +08:00
#没意义#
yjxjn
    274
yjxjn  
   2020-05-21 11:46:00 +08:00
非常#有意义#
Dkngit
    275
Dkngit  
   2020-05-21 12:10:49 +08:00
#有意义#
ica10888
    276
ica10888  
   2020-05-21 14:12:02 +08:00
#有意义#
资瓷
samondlee
    277
samondlee  
   2020-05-21 14:29:48 +08:00
#有意义#
x2ex
    278
x2ex  
   2020-05-21 16:31:12 +08:00
#需要更好的#
marcong95
    279
marcong95  
   2020-05-21 16:31:37 +08:00
#需要更好的# 刚才看了一下 F12,感觉可以通过 Referer 判断,如果 Referer 是*.v2ex.com/*,则返回 svg 图片,否则显示一个投票页面。那么配合各种浏览器自带的鼠标手势或者右键“在新标签页打开”功能,似乎就可以做到比较好的交互?
BruceHong
    280
BruceHong  
   2020-05-21 18:30:31 +08:00
#测试下#
imdong
    281
imdong  
OP
   2020-05-21 18:49:50 +08:00
@marcong95 思路可以的,可以给图片加上链接。

做法就和现在不太一样了,改天有时间重新起个项目搞这个还是可以的。
ifwangs
    282
ifwangs  
   2020-05-21 22:05:58 +08:00 via Android
#有意义#
tanranran
    283
tanranran  
   2020-05-21 22:50:28 +08:00
#有意义#
shawndev
    284
shawndev  
   2020-05-22 10:01:24 +08:00
#需要更好的#
18800210448
    285
18800210448  
   2020-05-22 13:36:01 +08:00
#有意义#
CodeCore
    286
CodeCore  
   2020-05-22 20:00:11 +08:00
#有意义#
jksjsjjkz
    287
jksjsjjkz  
   2020-05-23 08:38:30 +08:00 via Android
#有意义#
aiden9527
    288
aiden9527  
   2020-05-26 11:03:51 +08:00
#有意义#
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2549 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 25ms · UTC 05:37 · PVG 13:37 · LAX 21:37 · JFK 00:37
Developed with CodeLauncher
♥ Do have faith in what you're doing.