不要在新的 Instagram url-api 上为位置 (?__a=1) (native_location_data) 工作分页

Posted

技术标签:

【中文标题】不要在新的 Instagram url-api 上为位置 (?__a=1) (native_location_data) 工作分页【英文标题】:Don't work pagination on new Instagram url-api for locations (?__a=1) (native_location_data) 【发布时间】:2021-07-12 22:52:22 【问题描述】:

Instagram 开始对https://www.instagram.com/explore/locations/.../?__a=1 的请求做出新的回应: "graphql":"native_location_data:...

旧响应是:"graphql":"location":...

分页https://www.instagram.com/explore/locations/.../?__a=1&max_id=..。不起作用:Instagram 响应以及第一个请求 (https://www.instagram.com/explore/locations/.../?__a=1)

附:标签的分页(带有新响应)正常工作

附言并非所有用户都对请求有新的响应

【问题讨论】:

【参考方案1】:

“native_location_data”响应对象需要不同的函数来遍历。例如,如果要捕获所有图像,请使用以下示例:

                sections = instagram_resp['native_location_data']['recent']['sections']
                for sub_section in sections:
                    if sub_section['layout_type'] == 'media_grid':
                        for item in sub_section['layout_content']['medias']:
                            if item['media'].get('image_versions2'):
                                largest_res = sorted(
                                    item['media']['image_versions2']['candidates'],
                                    key=lambda o: o['height'] * o['width']
                                )[-1]['url']

【讨论】:

以上是关于不要在新的 Instagram url-api 上为位置 (?__a=1) (native_location_data) 工作分页的主要内容,如果未能解决你的问题,请参考以下文章

Instagram 获取带有标签的帖子

使用新的 Instagram Graph API 获取帐户最新图像的凭据?

在新的拉取请求上自动创建工作项

新的 Instagram API - 您如何请求标记媒体?

在新的 Google Cloud Messaging 上取消注册

ios - Instagram用新的instagram图表api登录?