昨天看到的是哪个帖子,说要投票功能的来着?
今天正好我就搞了一下这个,功能很简单,就是抓取回复的内容,然后统计一下存到 Redis 缓存起来。
投票的源数据依然在 V2EX 站内,我这边不做长期保存,但我尽量保证这个接口的可用性(如果没有被恶意 or 攻击的话)。
然后看了下 V2EX 的 API 接口,似乎没有可以获取帖子信息的接口?
目前是爬的页面,然后用正则表达式匹配内容,为了减轻压力,统计数据只在帖子被访问时被动更新,最多一分钟爬取一次,整体数据缓存 24 小时,24 小时内被访问,则只重新爬取最新回复(适用回复分页的情况)。
暂时只支持单选,一个人只能投票一次(第一次有效回复为准),统计只与所在帖子和标题关联,同一个帖子可以多个投票,只要标题不同即可。
同一个图片地址在不同的帖子,算不同的投票,数据是分开的。
然后使用方法就是直接获取一个投票的图片地址,然后插入到主题即可,参与投票则回复 #选项标题#。
V2ex 投票生成器 代码已开源: GitHub
PS: 不知道爬虫行为是否被允许,如果违规请 @Livid 说一下,或者给一个允许的频率。
另:由于代码是盲写,可能还有些问题,后续如果出现频率问题,我会限制抓取为 1 秒钟请求一次(全局)。
由于要一套方案同时兼顾黑白两种背景,又不想加背景色,所以只能尽量选择折中的颜色了,这也导致了在两个颜色下都不够明显了...白色背景下不够黑,黑色背景下不够亮...
关于字体太大的问题,参考 v站 的风格,字体选择为一样了,大小稍微调小了一点。
其他的样式外观设计问题,直男审美已经发挥到极限了,有大佬愿意的话可以考虑帮忙调整一下?
由于投票导致评论区都是单一的评论,也从引导文案上稍微改了一下,希望能对评论区稍微友好一点。
关于使用体验问题,(第三方)似乎没有更好的方案了,svg 可以加入带连接按钮来实现点击投票,但是 v站 只能发图片,而 svg 以图片插入时不能交互,而且就算可以交互,站外投票又会有刷票之类的问题。
图片是 SVG 图片,如果拖动图片到新窗口打开,是可以选择复制选项的内容的。
后续我会在 复制 Markdown 代码的地方把问题和选项一并复制。
评论没有更新:由于是第三方爬取票数,统计有大约1分钟的延迟(暂时,可能会更长)
票数不正确:首先看是否延迟问题,统计以来路(仅V站)帖子id为准,如果未识别到来路的帖子 ID 则随机生成票数供预览
未投票可见结果:由于第三方,暂时没有想到更好的办法,无法实现,并且每个人需求不同,难以满足(曲线救国:跟踪用户,刷新后票数可见)...
匿名投票:同上...
骗回(tong)复(bi)的方法增加了:✅新技能 Get
另:感谢诸位热心的小朋友在评论区的测试😂
201
RongAi 2020-05-20 19:56:42 +08:00
#需要更好的#
|
202
hzlzh 2020-05-20 20:00:50 +08:00
#有意义# #需要更好的# 如果官方做那更好
|
203
baiduyixia 2020-05-20 20:12:07 +08:00
#没意义#
|
204
shakoon 2020-05-20 20:21:17 +08:00
这种插件很不错呢 #有意义#
|
205
7gugu 2020-05-20 20:29:42 +08:00 via Android
#需要更好的#
|
206
Koucha 2020-05-20 20:36:23 +08:00
#需要更好的#说实话感觉颜色有点丑
|
207
douglas1997 2020-05-20 21:01:29 +08:00
表明观点的东西,有什么意义。我觉得这个功能没有什么必要,在极少数的情况下可能有用罢了。
|
208
Aluhao 2020-05-20 21:06:14 +08:00
#有意义#
|
209
laycher 2020-05-20 21:08:21 +08:00
#有意思# 要是选型没匹配上,就抛弃了吧
|
210
niubikelasi 2020-05-20 21:15:58 +08:00
#有意义#
|
211
tommyxps 2020-05-20 21:22:14 +08:00
#有意义#
|
212
lscho 2020-05-20 21:34:20 +08:00
#无所谓#
|
213
danbai 2020-05-20 21:47:04 +08:00
#有意义#
|
214
mxT52CRuqR6o5 2020-05-20 22:02:35 +08:00
#有意义#
感觉是不是可以用 cloudfalre 的那个 serverless 去做,不要数据库也不要钱,就是可能会增加 V2EX 的压力 |
215
GTD 2020-05-20 22:19:17 +08:00
#有意义#
|
216
xiaopenyou 2020-05-20 22:24:55 +08:00
#需要更好的#
|
217
css3 2020-05-20 22:29:56 +08:00
#有意义#
但是喜欢按钮投票 |
218
jsxhhyf 2020-05-20 22:33:35 +08:00
#需要更好的# 通过回复投票还是感觉太不方便了
|
219
missqso 2020-05-20 23:06:25 +08:00
#需要更好的#
|
220
Jianrry 2020-05-20 23:42:43 +08:00
#需要更好的#
|
221
SpiderXiantang 2020-05-21 00:27:56 +08:00
我觉得需要官方支持 以评论的方式显示不是一个好的方式 因为 V2EX 向来都是一个比较注重回复质量的社区
|
222
vicence 2020-05-21 02:04:06 +08:00
#有意义#
|
223
Perry 2020-05-21 02:17:16 +08:00
#需要更好的#
|
224
beanrobbie 2020-05-21 02:46:00 +08:00
#有意义# ,无所谓和要更好的容易理解,感觉「无意义」的同学咋想的,投票就是一种激励个人抒发看法和内心想法的方式,能够更好的促进讨论和交流,也就能帮助到更多的人,怎么可能无意义。
|
225
lulinux 2020-05-21 03:15:06 +08:00 via Android
#需要更好的# 鼠标点击容易多了
|
226
mogami18 2020-05-21 04:10:06 +08:00
#有意义#
|
227
exploreexe 2020-05-21 05:29:37 +08:00
#有意义#
|
228
exploreexe 2020-05-21 05:30:20 +08:00
有点东西 感谢已发送
|
229
zhouzm 2020-05-21 07:54:31 +08:00
#需要更好的# 还是希望 V2EX 自己实现这个功能
|
230
metrue 2020-05-21 08:16:34 +08:00
#有意义# 而且作者这个方法有意思。
|
231
zhw2590582 2020-05-21 08:29:13 +08:00
界面不一定要个网站背景色融合啊,自己整体风格协调就可以了
|
232
wpaygp 2020-05-21 08:36:24 +08:00
#有意义#
|
233
fuwu1245 2020-05-21 08:37:05 +08:00
#有意义# 实践是检验真理的唯一标准
|
234
antonlee 2020-05-21 08:42:39 +08:00
#需要更好的# 同意#229
|
235
cogito 2020-05-21 09:01:42 +08:00
#需要更好的#靠回复有点降低评论质量
|
236
leon2013 2020-05-21 09:03:10 +08:00
#有意义# #需要更好的# 如果官方做那更好
|
237
ForeverYoung123 2020-05-21 09:12:05 +08:00
#有意义#
|
238
183387594 2020-05-21 09:16:18 +08:00
#有意义#
|
239
dzdh 2020-05-21 09:16:51 +08:00
#有意义#
|
240
MuscleOf2016 2020-05-21 09:18:23 +08:00
#有意义#
|
241
ivanyin 2020-05-21 09:19:52 +08:00
#有意义#
|
242
gamexg 2020-05-21 09:24:45 +08:00
#需要更好的#
|
243
jaylong 2020-05-21 09:25:43 +08:00
#有意义#
|
244
zifangsky 2020-05-21 09:27:08 +08:00
#有意义#
|
245
bolice 2020-05-21 09:30:25 +08:00
#有意义# #需要更好的# 期待官方的,鼠标点选,而非大片无意义回复,冲刷了本来讨论区的功能。
|
246
xjmroot 2020-05-21 09:36:03 +08:00
#需要更好的#
|
247
FFFire 2020-05-21 09:36:19 +08:00
#有意义# #需要更好的# 能开放接口就好了
|
248
tonfy 2020-05-21 09:41:25 +08:00
#有意义#
|
249
mfu 2020-05-21 09:43:07 +08:00
#有意义#
|
250
toxicant 2020-05-21 09:43:41 +08:00
#需要更好的#
|
251
cccy0 2020-05-21 09:49:34 +08:00
#有意义#
|
252
mauve 2020-05-21 09:51:26 +08:00
#有意义#
|
253
mauve 2020-05-21 09:51:50 +08:00
#有意义#哈
|
254
wugiro 2020-05-21 09:53:23 +08:00
#需要更好的#
|
255
songyijie 2020-05-21 09:59:02 +08:00
#需要更好的#
|
256
cue 2020-05-21 09:59:57 +08:00
看成了支持股票
|
257
cumshot 2020-05-21 10:05:55 +08:00
#需要更好的#
|
258
yuankui 2020-05-21 10:06:31 +08:00
请问楼主,投票和帖子关联是通过 svg 请求的 referer 来关联的吗?
|
259
think2011 2020-05-21 10:07:07 +08:00
看成开支票
|
260
darkjoker 2020-05-21 10:08:10 +08:00
#需要更好的#
|
261
GoLand 2020-05-21 10:21:02 +08:00
#有意义#
|
262
pilotgalahad 2020-05-21 10:27:16 +08:00
#需要更好的#
|
264
ExplorerLog 2020-05-21 11:04:14 +08:00
#需要更好的#
|
265
Xusually 2020-05-21 11:05:35 +08:00
#没意义#
|
266
gxm123gxm 2020-05-21 11:06:48 +08:00
还是有价值的,比如昨天看到的密码管理器的统计,这种投票可以作为一种选择参考。但以回复的形式来做选择这个确实太奇怪了。光回复个选项内容并没有什么作为回复的交流价值
|
267
xiaowudesign 2020-05-21 11:07:38 +08:00
#有意义# #需要更好的#
|
268
hjosama 2020-05-21 11:10:06 +08:00
#有意义# 牛逼
|
269
saymoon 2020-05-21 11:25:33 +08:00
#有意义# #需要更好的#
|
270
imdong OP @gxm123gxm 看到最后我也发现,投票都变成了无意义投票了(见鬼,铜币不值钱了么?)其实我更希望看到的是类似这样的回复:
由于 1Password 收费,迫于穷,我选择#KeePass#,我的时间不值钱。 |
271
killerv 2020-05-21 11:30:23 +08:00
#有意义# 楼主这个做的有意思
|
272
cnwlei 2020-05-21 11:32:10 +08:00
#有意义#
|
273
muskill 2020-05-21 11:34:06 +08:00
#没意义#
|
274
yjxjn 2020-05-21 11:46:00 +08:00
非常#有意义#
|
275
Dkngit 2020-05-21 12:10:49 +08:00
#有意义#
|
276
ica10888 2020-05-21 14:12:02 +08:00
#有意义#
资瓷 |
277
samondlee 2020-05-21 14:29:48 +08:00
#有意义#
|
278
x2ex 2020-05-21 16:31:12 +08:00
#需要更好的#
|
279
marcong95 2020-05-21 16:31:37 +08:00
#需要更好的# 刚才看了一下 F12,感觉可以通过 Referer 判断,如果 Referer 是*.v2ex.com/*,则返回 svg 图片,否则显示一个投票页面。那么配合各种浏览器自带的鼠标手势或者右键“在新标签页打开”功能,似乎就可以做到比较好的交互?
|
280
BruceHong 2020-05-21 18:30:31 +08:00
#测试下#
|
281
imdong OP |
282
ifwangs 2020-05-21 22:05:58 +08:00 via Android
#有意义#
|
283
tanranran 2020-05-21 22:50:28 +08:00
#有意义#
|
284
shawndev 2020-05-22 10:01:24 +08:00
#需要更好的#
|
285
18800210448 2020-05-22 13:36:01 +08:00
#有意义#
|
286
CodeCore 2020-05-22 20:00:11 +08:00
#有意义#
|
287
jksjsjjkz 2020-05-23 08:38:30 +08:00 via Android
#有意义#
|
288
aiden9527 2020-05-26 11:03:51 +08:00
#有意义#
|