我一直在使用Instagram的未记录的API https://www.instagram.com/<user>/?__a=1
来获取公共用户提要.
我也可以通过他们的max_id
查询参数得到多个页面,如下所示: https://www.instagram.com/<user>/?__a=1&max_id=<end_cursor>
end_cursor = json_response.graphql.user.edge_owner_to_timeline_media.page_info.end_cursor
Run Code Online (Sandbox Code Playgroud)
(是的,"has_next_page"为真)
他们最近改变了他们的JSON格式,我认为他们可能已经破坏了其他功能.
"end_cursor"仍然存在,但是当我使用它时,我只是回到相同的Instagram帖子,好像我没有使用它.
为了确保我清楚,我的问题是,max_id=<end_cursor>
对于公共用户Feed来说似乎不再起作用了.我仍然可以获得前12个帖子,但之后不再有.
其他人看到这个问题?
这是我所说的JSFiddle示例:https://jsfiddle.net/LLsg91ja/33/
Mar*_*ark 15
04-14-2018 - 没有更长时间的工作 - INSTAGRAM弃权了'?__ a = 1'&'?query_id = 17888483320059182' - 这不再有效!
好的,请看一下这个媒体分页:
https://instagram.com/graphql/query/?query_id=17888483320059182&id=<user_id>&first=12&after=<end_cursor>
返回:
[ '数据'] [ '用户'] [ 'edge_owner_to_timeline_media'] [ 'page_info'] [ 'end_cursor']
和媒体:
[ '数据'] [ '用户'] [ 'edge_owner_to_timeline_media'] [ '边缘']
'query_id'现在是静态的,所以只需使用:17888483320059182
'id'是"Instagram用户ID",因此您必须使用?__a=1
抓取''graphql'] ['user'] ['id']
'first'是您想要返回的照片数量.只需使用12来保持媒体返回相同.
'after'是使用的新'max_id'['data'] ['user'] ['edge_owner_to_timeline_media'] ['page_info'] ['end_cursor']
我会测试更多并稍后回复.
稍后回复:
据信,"分页"使用?__a=1
已被弃用.如果是真的那么没有答案可以解决?__a=1
用于Instagram分页的操作直接问题.
但是这个答案中提供的代码将提供Instagram媒体的分页,它确实提供了op正在寻求的结果.
答案包含了'instagram graphql api',这是当前的api(而不是json ?__a=1
hack)所以这个答案应该提供一些稳定性.
在我的实际网站上使用:
抓住id=<instagram_user_id>
Instagram媒体请求的先前信息:
profile = https://www.instagram.com/<instagram_username>/?__a=1
media = https://instagram.com/graphql/query/?query_id=17888483320059182&id=<profile['graphql']['user']['id']>&first=12&after=<end_cursor>
归档时间: |
|
查看次数: |
7191 次 |
最近记录: |