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

2020-05-20 11:47:43 +08:00
 imdong

昨天看到的是哪个帖子,说要投票功能的来着?

今天正好我就搞了一下这个,功能很简单,就是抓取回复的内容,然后统计一下存到 Redis 缓存起来。

投票的源数据依然在 V2EX 站内,我这边不做长期保存,但我尽量保证这个接口的可用性(如果没有被恶意 or 攻击的话)。

然后看了下 V2EX 的 API 接口,似乎没有可以获取帖子信息的接口?

目前是爬的页面,然后用正则表达式匹配内容,为了减轻压力,统计数据只在帖子被访问时被动更新,最多一分钟爬取一次,整体数据缓存 24 小时,24 小时内被访问,则只重新爬取最新回复(适用回复分页的情况)。

暂时只支持单选,一个人只能投票一次(第一次有效回复为准),统计只与所在帖子和标题关联,同一个帖子可以多个投票,只要标题不同即可。

同一个图片地址在不同的帖子,算不同的投票,数据是分开的。

然后使用方法就是直接获取一个投票的图片地址,然后插入到主题即可,参与投票则回复 #选项标题#。

V2ex 投票生成器 代码已开源: GitHub

PS: 不知道爬虫行为是否被允许,如果违规请 @Livid 说一下,或者给一个允许的频率。

另:由于代码是盲写,可能还有些问题,后续如果出现频率问题,我会限制抓取为 1 秒钟请求一次(全局)。

20340 次点击
所在节点    分享创造
288 条回复
freewind
2020-05-20 15:09:27 +08:00
wintersun
2020-05-20 15:14:34 +08:00
投票功能很有用。

但非官方、功能不完善的,感觉#没意义# #需要更好的#
justicelaw
2020-05-20 15:18:35 +08:00
#有意义#
ant4ly
2020-05-20 15:19:05 +08:00
#有意义#
BBCCBB
2020-05-20 15:20:10 +08:00
#lz 想法不错#
blackshh
2020-05-20 15:20:21 +08:00
#有意义#
andrewpsy
2020-05-20 15:24:02 +08:00
#有意义#
AllenHua
2020-05-20 15:26:14 +08:00
#有意义#
ghouleztt
2020-05-20 15:31:20 +08:00
#有意义#
huaxq01
2020-05-20 15:32:46 +08:00
#有意义#
yukun666
2020-05-20 15:36:02 +08:00
#无所谓#
allenforrest
2020-05-20 15:36:41 +08:00
#有意义#
lanhaooclub
2020-05-20 15:37:54 +08:00
#有意义#
paloalto
2020-05-20 15:39:26 +08:00
#需要更好的#
JankinAnn
2020-05-20 15:41:06 +08:00
#有意义#
JankinAnn
2020-05-20 15:41:28 +08:00
#有意义# 重复投票 TEST
pan020037
2020-05-20 15:44:00 +08:00
#有意义#
huyi23
2020-05-20 15:52:42 +08:00
#<script>alert(1)</script>#
zaul
2020-05-20 15:53:13 +08:00
#无所谓#
bullettrain1433
2020-05-20 15:55:22 +08:00
#无所谓#

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/673565

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX