你好,警告文字墙:)
我即将建立一个网站来抓取和收集属于两个标签的五个组合的 instagram 照片。第一个标签将是相同的,并且是网站/活动的名称,另一个标签直到成为五个主题之一。
这也需要在 instagram 用户名下进行排序,以便每个用户都可以“收集”所有五个主题的图像。
然后需要将其呈现为按“图像数量 DESC,组合喜欢 DESC”排序的“顶级列表”。每个主题一张图片,换句话说,每个用户最多五张图片。
有点难以解释,我将尝试通过我需要构建的顶级列表的示例来说明它:
排行榜:
排名 1。
USERNAME - score 27 (has collected all 5 topics and have most combined likes)
(img) #competition #topic-1 5 likes
(img) #competition #topic-2 3 likes
(img) #competition #topic-3 10 likes
(img) #competition #topic-4 5 likes
(img) #competition #topic-5 4 likes
排名 2。
USERNAME - score 25
(img) #competition #topic-1 5 likes
(img) #competition #topic-2 3 likes
(img) #competition #topic-3 8 likes
(img) #competition #topic-4 5 likes
(img) #competition #topic-5 4 likes
排名 3。
USERNAME - score 38 (has more likes than the leader but has only 4 topics covered..)
(img)#competition #topic-1 5 likes
(img) #competition #topic-2 3 likes
(img) #competition #topic-3 10 likes
(img) #competition #topic-4 20 likes
排名 4。
USERNAME - score 17
(img) #competition #topic-1 1 likes
(img) #competition #topic-2 2 likes
(img) #competition #topic-3 3 likes
(img) #competition #topic-4 11 likes
等等....
我一直在研究 API,似乎“/tags/tag-name/media/recent”是我最好的,如果不仅仅是这个问题的“入口点”?
所以我正在考虑做的是每 5 分钟运行一个脚本,或者直到通过标记为“#competition”的最新图像运行一个脚本,然后检查是否有 5 个辅助标签中的任何一个在那里,如果是 - 如果没有,则保存已经在数据库中。
我想我必须缓存以获取所有与这些标签匹配的图像?我还没有达到每个查询的 Instagrams 对象限制......但如果没有别的,如果我每次都尝试加载,我将达到我自己的服务器超时。
从我的角度来看,最大的痛苦是喜欢,因为这些需要不断地从 instagram 更新以保持记分牌的活力。只是使用 cron 循环遍历所有缓存的图像,然后执行 api 请求来更新每个点赞数,这对于我的服务器和 instagrams api 限制来说似乎都有些繁重。
也许我可以利用登录的用户会话/令牌以某种聪明的方式做到这一点?
还是我应该让团队的其他成员相信这是一个坏主意,我们应该建立或拥有“投票”机制,让比赛保持本地化,与柜台等 Instagram 分开?
请分享您对如何存储和解决此问题的想法:)