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

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

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

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

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

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

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

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

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

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

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

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

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

19871 次点击
所在节点    分享创造
288 条回复
imdong
2020-05-20 11:49:14 +08:00
首次上线生产环境,当然是自己要先测试一下有没有 BUG 了。

我选择#有意义#,但为了测试 BUG,我投 #无所谓#应该不计入票数才对。
wingoo
2020-05-20 11:54:05 +08:00
挺好玩的, 就是 黑色背景时, 标题看不到了, 需要适配下 #需要更好的#
Mac
2020-05-20 11:54:13 +08:00
投票不匿名和微博评论只显示精华一样没参考价值
#无所谓#
baobao1270
2020-05-20 11:58:18 +08:00
我认为非官方支持#没有意义#,顺便测试有没有语义识别功能
whwq2012
2020-05-20 12:00:19 +08:00
#有意义#,但是服务器顶得住吗
kera0a
2020-05-20 12:00:28 +08:00
#有意义#

不过黑色主题下不好看,😄
不是网页浏览的话显示的数据有误
kera0a
2020-05-20 12:01:13 +08:00
黑色背景下的效果
https://sm.ms/image/rIy1WmdXQwVxnGR
runking
2020-05-20 12:01:13 +08:00
#无所谓##有意义##没有意义#
#有意义##没有意义##无所谓#
#没有意义##无所谓##有意义#
我是来测试的
ck65
2020-05-20 12:02:48 +08:00
#有意义#
思路有趣。同 #2 的设计上再加把劲,黑字标题不说还真没看到。。
ryh
2020-05-20 12:04:55 +08:00
站长估计又哭又笑,笑的是 又可以少一个功能和开支, 哭的是怎么这么多人瞎操心 😂
Yangz
2020-05-20 12:05:44 +08:00
#需要更好的#
YUX
2020-05-20 12:09:53 +08:00
非常#有意义#
dremy
2020-05-20 12:17:39 +08:00
从技术的角度来看,这种实现方式效率太低,#没有意义#

但毕竟也提供了这个功能,从非技术的角度来讲,还是#有意义#的

顺便测试下一个评论能否投两票…
imdong
2020-05-20 12:32:59 +08:00
@wingoo @kera0a @ck65 谢谢提醒,才想起来还有夜间模式,等下我去看下怎么调颜色可以在两个色系下都比较清晰吧。

@Mac 我倒不认为匿名投票是首要,首要是投票前不能查看结果才是重要的。

@baobao1270 报告大人,臣妾能力有限,做不到啊!!!

@whwq2012 我很怕顶不住,如果用的人多了,爬起来会被屏蔽 IP,昨晚测试的时候,就被封了一次...

@runking 谢谢测试,看起来是没问题呢。

@ryh Livid 内心:这群人都不上班的么,都开始吃萝卜了...

@dremy 从目前来看,如果官方没出功能的话,恐怕难有更高效的实现了。(测试通过,一票有效)
wulu
2020-05-20 12:33:49 +08:00
#需要更好的#
treizeor
2020-05-20 12:34:11 +08:00
没意义
Telegram
2020-05-20 12:41:06 +08:00
说实话,这个想法我以前想过的,哈哈
qistchan
2020-05-20 12:43:47 +08:00
#有意义#
love
2020-05-20 12:45:44 +08:00
可以把选某个分支的人一键拉黑吗 😏
laoyur
2020-05-20 12:48:53 +08:00
#有意义#,但没必要
你的爬虫容易挂
而且有些帖子你不一定爬得到吧(比如被进入某些著名节点后

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

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

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

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

© 2021 V2EX