如何从 Instagram 标签查找中获取下一页数据

som*_*ode 6 python instagram python-requests instagram-api

我可以输入以下 url 以通过访问/请求以下端点来获取所有带有 #losangeles 标签的 IG 帖子:

https://www.instagram.com/explore/tags/losangeles/?__a=1
Run Code Online (Sandbox Code Playgroud)

在从这个 url 返回的 json 数据中,我可以看到 page_info 属性,其中有 has_next_page 属性,并且设置为 true。我的问题是如何修改上面的 url 以进入下一页,然后是下一页,直到我检查 has_next_page 并且它是假的。

尝试似乎很直观

https://www.instagram.com/explore/tags/losangeles/?__a=2
Run Code Online (Sandbox Code Playgroud)

https://www.instagram.com/explore/tags/losangeles/?__b=1
Run Code Online (Sandbox Code Playgroud)

但两者似乎都不起作用。我怀疑从原始 url 返回的数据中的 end_cursor 属性可能是我需要转到下一页的 url 的线索,但我不确定。有谁知道如何做到这一点?

J S*_*Set 6

这个有可能。每个响应都包含一个end_cursor参数。在你的下一个请求添加max_id使用参数的值end_cursor,像这样:https://www.instagram.com/explore/tags/losangeles/?__a=1&max_id=<value>

我在这里有一个用 react/axios 编写的工作示例:https ://codepen.io/ghostreef/pen/ZrKrXX 。我的示例从用户帐户中提取,因此我的响应 xml 不同。标签的 end_cursor 是 at data.graphql.hashtag.edge_hashtag_to_media.page_info.end_cursor,图像数据是 at data.graphql.hashtag.edge_hashtag_to_media.edges,你必须遍历节点。