昨天看到的是哪个帖子,说要投票功能的来着?
今天正好我就搞了一下这个,功能很简单,就是抓取回复的内容,然后统计一下存到 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
另:感谢诸位热心的小朋友在评论区的测试😂
101
freewind 2020-05-20 15:09:27 +08:00
|
102
wintersun 2020-05-20 15:14:34 +08:00
投票功能很有用。
但非官方、功能不完善的,感觉#没意义# #需要更好的# |
103
justicelaw 2020-05-20 15:18:35 +08:00
#有意义#
|
104
ant4ly 2020-05-20 15:19:05 +08:00
#有意义#
|
105
BBCCBB 2020-05-20 15:20:10 +08:00
#lz 想法不错#
|
106
blackshh 2020-05-20 15:20:21 +08:00
#有意义#
|
107
andrewpsy 2020-05-20 15:24:02 +08:00
#有意义#
|
108
AllenHua 2020-05-20 15:26:14 +08:00
#有意义#
|
109
ghouleztt 2020-05-20 15:31:20 +08:00
#有意义#
|
110
huaxq01 2020-05-20 15:32:46 +08:00
#有意义#
|
111
yukun666 2020-05-20 15:36:02 +08:00
#无所谓#
|
112
allenforrest 2020-05-20 15:36:41 +08:00
#有意义#
|
113
lanhaooclub 2020-05-20 15:37:54 +08:00 via Android
#有意义#
|
114
paloalto 2020-05-20 15:39:26 +08:00
#需要更好的#
|
115
JankinAnn 2020-05-20 15:41:06 +08:00
#有意义#
|
116
JankinAnn 2020-05-20 15:41:28 +08:00
#有意义# 重复投票 TEST
|
117
pan020037 2020-05-20 15:44:00 +08:00
#有意义#
|
118
huyi23 2020-05-20 15:52:42 +08:00 1
#<script>alert(1)</script>#
|
119
zaul 2020-05-20 15:53:13 +08:00
#无所谓#
|
120
bullettrain1433 2020-05-20 15:55:22 +08:00
#无所谓#
|
121
SakuraKuma 2020-05-20 15:56:20 +08:00
#有意义#
|
122
twor2 2020-05-20 15:56:25 +08:00
#有意义#
#没意义# #需要更好的# |
123
xunco 2020-05-20 15:59:44 +08:00
#需要更好的#
|
124
BigYao 2020-05-20 16:00:17 +08:00
#有意义#
|
125
microka 2020-05-20 16:00:36 +08:00
#需要更好的#
只能说楼主出发点是好的,但我个人认为:一、这种投票方式对用户不友好;二、用爬页面来反馈生成投票结果的实现方式也不理想。 |
126
maplelin 2020-05-20 16:00:41 +08:00
#有意义#
#需要更好的# |
127
zydxn 2020-05-20 16:02:28 +08:00
#需要更好的#
|
128
TonyShng 2020-05-20 16:04:06 +08:00
#有意义#
|
129
BestSera 2020-05-20 16:04:23 +08:00
#无所谓#
|
130
d1n910 2020-05-20 16:05:35 +08:00
#有意义#
#需要更好的# |
131
jmjc 2020-05-20 16:06:04 +08:00
#无所谓#
|
132
kitebear 2020-05-20 16:19:27 +08:00
#有意义#
#需要更好的# |
133
ACodelover 2020-05-20 16:19:58 +08:00
#有意义#
|
134
iszengmh 2020-05-20 16:25:16 +08:00 via Android
我看成股票了
|
135
ytll21 2020-05-20 16:25:47 +08:00
#需要更好的#
|
136
DoubleShut 2020-05-20 16:28:27 +08:00
#有意义#
|
137
leesinquan 2020-05-20 16:28:45 +08:00
#有意义#
|
138
Tays 2020-05-20 16:29:49 +08:00
#有意义#
|
139
quxiangxuanqxx 2020-05-20 16:30:20 +08:00
#需要更好的#
|
140
ZeroW 2020-05-20 16:31:49 +08:00
#有意义#
|
141
akakidz 2020-05-20 16:33:14 +08:00
#需要更好的#
|
142
xtx 2020-05-20 16:33:30 +08:00 via iPhone
#需要更好的#
|
143
ID2333 2020-05-20 16:33:55 +08:00
#需要更好的#
|
144
sugarkeek 2020-05-20 16:34:52 +08:00
#有意义#
|
145
TrembleBeforeMe 2020-05-20 16:37:43 +08:00
#需要更好的#
|
146
abcde51111 2020-05-20 16:41:23 +08:00
#有意义#
|
147
skyaiwh 2020-05-20 16:45:23 +08:00
#有意义#
|
148
bravecarrot 2020-05-20 16:46:33 +08:00 via iPhone
#无所谓#
|
149
hereIsChen 2020-05-20 16:47:46 +08:00
#有意义#
|
150
Guys 2020-05-20 16:51:46 +08:00
#有意义#
|
151
crll 2020-05-20 16:52:35 +08:00 via iPhone
#无所谓#
|
152
xuhp 2020-05-20 16:54:40 +08:00
#有意义#
|
153
SimonOne 2020-05-20 16:57:00 +08:00
#无所谓#
|
154
jsondog 2020-05-20 16:57:15 +08:00
#没意义#
|
155
Maxbee 2020-05-20 16:58:07 +08:00
#无意义#
|
156
huiyifyj 2020-05-20 17:00:27 +08:00
#无所谓#
|
157
skyrem 2020-05-20 17:02:11 +08:00
|
158
NeedforV2 2020-05-20 17:09:35 +08:00
#有意义#
要是能再简单些就好了 |
159
hjw45611 2020-05-20 17:09:53 +08:00
看成了股票。。
韭菜的自我修养。 |
160
xtx 2020-05-20 17:10:34 +08:00 via iPhone
|
161
songsong 2020-05-20 17:15:35 +08:00
#有意义#
|
162
songsong 2020-05-20 17:16:25 +08:00
#没意义#
|
163
littleangel 2020-05-20 17:17:04 +08:00
#没意义#
|
164
zhw2590582 2020-05-20 17:18:55 +08:00
#有意义#
|
165
songsong 2020-05-20 17:20:29 +08:00 1
如果投票条件很长很长, 那么回复投票后, 评论区会变得很很大的一篇无意义的文字, 影响阅读, 建议把抓取改为抓问题
编号, 回复投票 1 2 3 或者 #1 #2 #3 这样使得页面更简洁, 不会让评论变的大篇幅的相同文字 |
166
Xi 2020-05-20 17:21:33 +08:00
#有意义#
|
167
inkdie 2020-05-20 17:22:35 +08:00
#有意义#
但是评论区没法看了,太乱了 |
168
miniwade514 2020-05-20 17:23:23 +08:00
#有意思#
|
169
X3en 2020-05-20 17:24:58 +08:00
#有点厉害#
|
170
esons 2020-05-20 17:25:16 +08:00
#有意义#
|
171
nostars 2020-05-20 17:28:09 +08:00
#有意义#
|
172
lldld 2020-05-20 17:32:44 +08:00
#有意义# 感谢! 希望站主支持
|
173
massacreformash 2020-05-20 17:35:28 +08:00
#有意义#
真的能增加么 |
174
ftu 2020-05-20 17:43:38 +08:00
#有意义# 为啥只看到 5 票
|
175
dddiao 2020-05-20 18:00:18 +08:00
#有意义#
|
176
araaaa 2020-05-20 18:03:04 +08:00
#需要更好的#
|
177
maypu 2020-05-20 18:04:15 +08:00 via Android
#没意义#
#需要更好的# |
178
lswl66 2020-05-20 18:05:19 +08:00
#有意义#
|
179
running17 2020-05-20 18:05:33 +08:00
#有意义#
|
180
zhibushiwo 2020-05-20 18:07:10 +08:00 via Android
#没意义#
第一眼看成股票了 lol |
181
lneoi 2020-05-20 18:09:35 +08:00
#需要更好的#
|
182
wdd2007 2020-05-20 18:13:59 +08:00
挺有想法的
|
183
h503mc 2020-05-20 18:14:26 +08:00 via iPhone
#没意义#
然后评论区就有问题了 |
184
NeezerGu 2020-05-20 18:18:14 +08:00
#test##有意义##有意义##有意义##有意义##有意义##有意义##有意义#
#没意义##没意义##没意义##没意义##没意义##没意义##没意义##没意义# |
185
JmmBite 2020-05-20 18:20:27 +08:00
#HELLO WORLD#
|
186
bl 2020-05-20 18:22:48 +08:00
#需要更好的#
|
187
wzw 2020-05-20 18:25:30 +08:00 via iPhone
#有意义#
|
188
tyx1703 2020-05-20 18:27:49 +08:00
#会创建一个新的选项吗?#
|
189
ombr4 2020-05-20 18:31:43 +08:00
#有意义#
#需要更好的# |
190
neverandy 2020-05-20 18:32:47 +08:00
#需要更好的#
|
191
leoleoasd 2020-05-20 18:46:00 +08:00
#有意义#
|
192
hobbyliu 2020-05-20 18:54:17 +08:00
#有意义#
|
194
mayx 2020-05-20 19:03:41 +08:00 via Android
设计的挺有意思,我觉得如果能搞成通用的话就更好了
#无所谓# |
195
zooo 2020-05-20 19:04:49 +08:00
#有意义#
有看到 v 友自己统计下面的支持的观点 可以把投票门槛设置高点吗 防止乱投票 |
196
daimiaopeng 2020-05-20 19:20:45 +08:00
#有意义#
|
197
Linon 2020-05-20 19:27:26 +08:00 via Android
#有意义#
|
198
FuturesXu 2020-05-20 19:29:31 +08:00
#有意义# 很好啊,社区内可以做一些小调查
|
199
7sj525bL0Wy7FOx9 2020-05-20 19:37:27 +08:00
#有意义#
|
200
xiaominglui 2020-05-20 19:42:11 +08:00
#有意义#
|