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

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

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

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

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

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

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

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

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

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

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

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

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

20341 次点击
所在节点    分享创造
288 条回复
GoLand
2020-05-21 10:21:02 +08:00
#有意义#
pilotgalahad
2020-05-21 10:27:16 +08:00
#需要更好的#
imdong
2020-05-21 10:57:00 +08:00
@yuankui 是的,目前是这样实现的。
ExplorerLog
2020-05-21 11:04:14 +08:00
#需要更好的#
Xusually
2020-05-21 11:05:35 +08:00
#没意义#
gxm123gxm
2020-05-21 11:06:48 +08:00
还是有价值的,比如昨天看到的密码管理器的统计,这种投票可以作为一种选择参考。但以回复的形式来做选择这个确实太奇怪了。光回复个选项内容并没有什么作为回复的交流价值
xiaowudesign
2020-05-21 11:07:38 +08:00
#有意义# #需要更好的#
hjosama
2020-05-21 11:10:06 +08:00
#有意义# 牛逼
saymoon
2020-05-21 11:25:33 +08:00
#有意义# #需要更好的#
imdong
2020-05-21 11:26:52 +08:00
@gxm123gxm 看到最后我也发现,投票都变成了无意义投票了(见鬼,铜币不值钱了么?)其实我更希望看到的是类似这样的回复:

由于 1Password 收费,迫于穷,我选择#KeePass#,我的时间不值钱。
killerv
2020-05-21 11:30:23 +08:00
#有意义# 楼主这个做的有意思
cnwlei
2020-05-21 11:32:10 +08:00
#有意义#
muskill
2020-05-21 11:34:06 +08:00
#没意义#
yjxjn
2020-05-21 11:46:00 +08:00
非常#有意义#
Dkngit
2020-05-21 12:10:49 +08:00
#有意义#
ica10888
2020-05-21 14:12:02 +08:00
#有意义#
资瓷
samondlee
2020-05-21 14:29:48 +08:00
#有意义#
x2ex
2020-05-21 16:31:12 +08:00
#需要更好的#
marcong95
2020-05-21 16:31:37 +08:00
#需要更好的# 刚才看了一下 F12,感觉可以通过 Referer 判断,如果 Referer 是*.v2ex.com/*,则返回 svg 图片,否则显示一个投票页面。那么配合各种浏览器自带的鼠标手势或者右键“在新标签页打开”功能,似乎就可以做到比较好的交互?
BruceHong
2020-05-21 18:30:31 +08:00
#测试下#

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

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

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

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

© 2021 V2EX