【发布时间】:2015-09-29 16:56:25
【问题描述】:
目前我使用/users/self/media/liked 方法,获取响应,读取next_max_like_id 并一次又一次地请求数据。我试图传递巨大的count 值,但看起来最大计数值只是30。
我需要跟踪喜欢的媒体用户数量的变化。有什么办法可以优化吗?我不太明白next_max_like_id 是什么意思?有什么办法可以保留下来,下次再用吗?
【问题讨论】:
目前我使用/users/self/media/liked 方法,获取响应,读取next_max_like_id 并一次又一次地请求数据。我试图传递巨大的count 值,但看起来最大计数值只是30。
我需要跟踪喜欢的媒体用户数量的变化。有什么办法可以优化吗?我不太明白next_max_like_id 是什么意思?有什么办法可以保留下来,下次再用吗?
【问题讨论】:
users/self/media/likes 的请求限制为 33(默认为 20)。在分页部分返回的next_url 将使用相同的count(如果您提供了一个)和next_max_like_id,它是最后一个返回结果的ID。
如果通过“跟踪更改”您的意思是保持运行记录,据我所知,您无法通过端点访问喜欢项目的总数。你必须编写一个像历史一样刮擦的脚本,使用分页信息向后跳转,直到你可以看到你已经通过捕捉重复的next_max_like_id 找到了原来的喜欢(旁注:返回的数据只包括帖子用户仍然可以访问)。
如果您有很多用户,则必须将查询与原始抓取的 cron 作业错开,因为每小时有 5000 次 API 调用的限制。完成后,您可以在数据库中拥有一个 last_id_liked 字段,以便继续进行计数维护。
我可以提供的唯一优化不是计算返回的结果,而是计算你向后跳转的次数并乘以计数......但你每次仍然使用 API 调用。
【讨论】:
next_max_like_id 用于分页到下一组喜欢数据。您必须将其传递给您的下一个连续请求。由于 Instagram API 返回有限的结果,您可以使用此工具。
【讨论】:
next_max_like_id 传递给下一个请求。