昨天看到的是哪个帖子,说要投票功能的来着?
今天正好我就搞了一下这个,功能很简单,就是抓取回复的内容,然后统计一下存到 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
另:感谢诸位热心的小朋友在评论区的测试😂
1
imdong OP 首次上线生产环境,当然是自己要先测试一下有没有 BUG 了。
我选择#有意义#,但为了测试 BUG,我投 #无所谓#应该不计入票数才对。 |
2
wingoo 2020-05-20 11:54:05 +08:00
挺好玩的, 就是 黑色背景时, 标题看不到了, 需要适配下 #需要更好的#
|
3
Mac 2020-05-20 11:54:13 +08:00
投票不匿名和微博评论只显示精华一样没参考价值
#无所谓# |
4
baobao1270 2020-05-20 11:58:18 +08:00 via Android 1
我认为非官方支持#没有意义#,顺便测试有没有语义识别功能
|
5
whwq2012 2020-05-20 12:00:19 +08:00
#有意义#,但是服务器顶得住吗
|
6
kera0a 2020-05-20 12:00:28 +08:00 via iPhone
#有意义#
不过黑色主题下不好看,😄 不是网页浏览的话显示的数据有误 |
7
kera0a 2020-05-20 12:01:13 +08:00 via iPhone
|
8
runking 2020-05-20 12:01:13 +08:00
#无所谓##有意义##没有意义#
#有意义##没有意义##无所谓# #没有意义##无所谓##有意义# 我是来测试的 |
9
ck65 2020-05-20 12:02:48 +08:00
#有意义#
思路有趣。同 #2 的设计上再加把劲,黑字标题不说还真没看到。。 |
10
ryh 2020-05-20 12:04:55 +08:00 1
站长估计又哭又笑,笑的是 又可以少一个功能和开支, 哭的是怎么这么多人瞎操心 😂
|
11
Yangz 2020-05-20 12:05:44 +08:00
#需要更好的#
|
12
YUX 2020-05-20 12:09:53 +08:00
非常#有意义#
|
13
dremy 2020-05-20 12:17:39 +08:00 via iPhone
从技术的角度来看,这种实现方式效率太低,#没有意义#
但毕竟也提供了这个功能,从非技术的角度来讲,还是#有意义#的 顺便测试下一个评论能否投两票… |
14
imdong OP |
15
wulu 2020-05-20 12:33:49 +08:00 via Android
#需要更好的#
|
16
treizeor 2020-05-20 12:34:11 +08:00
没意义
|
17
Telegram 2020-05-20 12:41:06 +08:00
说实话,这个想法我以前想过的,哈哈
|
18
qistchan 2020-05-20 12:43:47 +08:00
#有意义#
|
19
love 2020-05-20 12:45:44 +08:00
可以把选某个分支的人一键拉黑吗 😏
|
20
laoyur 2020-05-20 12:48:53 +08:00
#有意义#,但没必要
你的爬虫容易挂 而且有些帖子你不一定爬得到吧(比如被进入某些著名节点后 |
21
JJstyle 2020-05-20 12:52:42 +08:00
#有意义# 赞,限制一下频率就可以了,但是确实还#需要更好的#
|
23
CRight 2020-05-20 12:53:49 +08:00 via Android
#有意义# 很直观,就不用爬楼了
|
24
azh7138m 2020-05-20 12:55:00 +08:00 via Android
( ・∀・)#需要更好的# (・∀・)
|
25
santheniko 2020-05-20 12:59:58 +08:00
#需要更好的
|
26
nathanw 2020-05-20 13:02:10 +08:00
#有意义# 日经帖可以少了很多
|
27
1069401249 2020-05-20 13:03:38 +08:00
#有意义#
|
28
LokiSharp 2020-05-20 13:05:01 +08:00
#没意义# 非匿名的没啥意义
|
29
panxianhai 2020-05-20 13:07:36 +08:00
|
30
wellwell 2020-05-20 13:08:41 +08:00
#有意义#
|
31
x66 2020-05-20 13:12:21 +08:00
#有意义#想法不错,建议加上投票前是否可以查看结果的选项
|
32
letking 2020-05-20 13:13:05 +08:00 via Android
#无所谓#
|
33
Maboroshii 2020-05-20 13:14:48 +08:00
#有趣#
|
34
a494836960 2020-05-20 13:14:56 +08:00
#有意义#
|
35
caijunyi 2020-05-20 13:16:16 +08:00
#有意义# 感觉不错的样子!
|
36
mokeyjay 2020-05-20 13:16:17 +08:00
哈哈哈有趣 #有意义#
|
37
Fx8m 2020-05-20 13:19:09 +08:00
非常#有意义#
|
38
BGYL 2020-05-20 13:29:00 +08:00 via Android
#有意义#
|
39
alphatoad 2020-05-20 13:29:12 +08:00
可以这样嘛,我发几个选项,你们给我点赞就行了
|
40
smallyu 2020-05-20 13:33:58 +08:00
#有意义#
#没意义# #需要更好的# |
41
ETO 2020-05-20 13:35:40 +08:00
#有意义#
|
42
hheedat 2020-05-20 13:36:12 +08:00
#有意义# 挺有意思的,赞一个👍
|
43
BGYL 2020-05-20 13:37:36 +08:00 via Android
#如果多一个选项#
|
44
motan 2020-05-20 13:38:22 +08:00
#无所谓#
#无所谓# #无所谓# |
45
lepchaos 2020-05-20 13:39:10 +08:00
#需要更好的# 测试一下
|
46
bibizhang 2020-05-20 13:43:34 +08:00
#没意义#
|
47
szyp 2020-05-20 13:45:18 +08:00
#有意义#
|
48
violetlai 2020-05-20 13:45:23 +08:00
#有意义# 只站队的话还是匿名会好一点
|
49
hatw 2020-05-20 13:45:32 +08:00
#无所谓#
#无所谓# #无所谓# test 。。。。。 |
50
hh4646908 2020-05-20 13:46:47 +08:00
#有意义#
|
51
lawler 2020-05-20 13:48:08 +08:00
#可以新建投票 select,而且是个超长的 select,并且有><script>alert(1)</script>'.>$%/*.😁👿▇▇ 过滤吗?#
|
52
glorifiedatom 2020-05-20 13:50:54 +08:00 via iPhone
好东西 #有意义#
|
53
anonymm 2020-05-20 13:51:17 +08:00
#需要更好的#
|
54
doveyoung 2020-05-20 13:51:51 +08:00 1
#来份炒饭#
|
55
lnim 2020-05-20 13:51:57 +08:00
#有意义#
|
56
morizawatt 2020-05-20 13:52:03 +08:00
#有意义# 没必要匿名
|
57
yu5121199 2020-05-20 13:54:19 +08:00
#有意义#
|
58
woscaizi 2020-05-20 14:01:48 +08:00
#真的可以投票吗?#
|
59
K1W1 2020-05-20 14:02:03 +08:00
#有意义# 很赞
|
60
woscaizi 2020-05-20 14:02:23 +08:00
#更新时间是多久?#
|
61
EminemW 2020-05-20 14:02:41 +08:00
#有意义#
|
62
yngby 2020-05-20 14:08:36 +08:00
#有意义#
|
63
bojackhorseman 2020-05-20 14:09:23 +08:00
#无所谓#
|
64
SENSIR 2020-05-20 14:09:29 +08:00 via Android
#有意义#
|
65
designer 2020-05-20 14:10:06 +08:00 via iPhone
有意义
|
66
ewBuyVmLZMZE 2020-05-20 14:12:11 +08:00
#无所谓# 我看你服务器能不能抗住。
|
67
leaves7i 2020-05-20 14:12:16 +08:00
#没意义#有意义#
|
68
qq525266 2020-05-20 14:12:54 +08:00
#无所谓#
|
69
ily433664 2020-05-20 14:13:04 +08:00
#无所谓#
|
70
kisshere 2020-05-20 14:13:31 +08:00
没#有意义#
|
71
HolmLoh 2020-05-20 14:14:46 +08:00
#需要更好的#
|
72
tutustream 2020-05-20 14:18:00 +08:00
#有意义#
|
73
leaves7i 2020-05-20 14:21:59 +08:00
#其他#
|
74
Junn 2020-05-20 14:22:03 +08:00
https://www.qs5.org/tools/v2ex_vote/%E4%BD%A0%E8%AE%A4%E4%B8%BAV2ex%E6%94%AF%E6%8C%81%E6%8A%95%E7%A5%A8%E6%9C%89%E6%84%8F%E4%B9%89%E4%B9%88%3F/%E6%9C%89%E6%84%8F%E4%B9%89|%E6%B2%A1%E6%84%8F%E4%B9%89|%E6%97%A0%E6%89%80%E8%B0%93|%E9%9C%80%E8%A6%81%E6%9B%B4%E5%A5%BD%E7%9A%84.svg
|
75
cxzweb 2020-05-20 14:22:59 +08:00
#有意义#
|
76
ericwoflskin 2020-05-20 14:25:24 +08:00
#有意义#
|
77
flowerains 2020-05-20 14:26:58 +08:00
#没意义#
非官方支持意味着服务器的稳定性存疑,这种必定做不长的东西还是放弃吧 |
78
Sfilata 2020-05-20 14:27:23 +08:00
#有意义##需要更好的##测试#
|
79
gaoryrt 2020-05-20 14:27:44 +08:00
测试##有意义#没有意义##
|
80
Rico802 2020-05-20 14:30:26 +08:00
#有意义#
|
81
real3cho 2020-05-20 14:32:20 +08:00
#可以但没必要#
|
82
mopig 2020-05-20 14:34:29 +08:00
#😀#
|
83
viosey 2020-05-20 14:35:34 +08:00
#有意义#
|
84
ShundL 2020-05-20 14:36:41 +08:00
#有意义#
|
85
component 2020-05-20 14:38:31 +08:00
#有意义#
|
86
michaelcheng 2020-05-20 14:40:08 +08:00
#有意义#
|
87
awen233333 2020-05-20 14:45:53 +08:00
#有意义#
#有意义# #没意义# #没意义# |
88
ahaxzh 2020-05-20 14:47:07 +08:00
https://www.qs5.org/tools/v2ex_vote/%E4%BD%A0%E6%98%AF%E7%8B%97%E4%B9%88%EF%BC%9F/%E4%BD%A0%E6%98%AF%EF%BC%81|%E4%BD%A0%E4%B8%8D%E6%98%AF%EF%BC%9F%EF%BC%9F.svg
|
89
h9VZ3hilI68DVl36 2020-05-20 14:47:10 +08:00
#有意义#
|
90
h9VZ3hilI68DVl36 2020-05-20 14:47:26 +08:00
#有意义##有意义#
|
91
hws8033856 2020-05-20 14:47:40 +08:00 1
#需要更好的');DROP TABEL toupiao;SELECT ('#
|
92
ahaxzh 2020-05-20 14:47:52 +08:00
感觉不好做统计 哈哈
|
93
cpsony 2020-05-20 14:51:37 +08:00
#无所*# #有意义#
|
94
hooopo 2020-05-20 14:51:39 +08:00 via Android
你做没意义 站长做有意义
|
95
biantaoGG 2020-05-20 14:53:33 +08:00
#无所谓#
|
96
lefer 2020-05-20 14:57:14 +08:00
非常#有意义#
|
97
hst001 2020-05-20 14:58:46 +08:00
#重金求子#
|
98
cloudfox 2020-05-20 14:59:22 +08:00
字太大了,有点丑
|
99
winnie2012 2020-05-20 15:00:55 +08:00
#有意义#
#没意义# #需要更好的# |
100
Vanctol 2020-05-20 15:05:38 +08:00
#有意义#
|