Instagram API:获取所有喜欢帖子

时间:2017-03-04 02:25:51

标签: python json web-scraping scrapy instagram

如何让所有喜欢图片的用户获得?我看到在page_info的特定照片中有76个喜欢,有u'end_cursor': None我无法使用它来获得其他喜欢的照片。另外,如此JSON中所示,只显示了10个用户ID。

                  u'page_info': {u'end_cursor': None,
                                 u'has_next_page': False,
                                 u'has_previous_page': False,
                                 u'start_cursor': None}},

http://pastebin.com/AZUQBvrF 我遇到了类似于遍历Instagram用户的其他页面的问题,我使用以下代码解决了这个问题。但是,我不确定在end_cursor=None时如何处理这个问题?请提出解决方案和指导建议。

 99             while data["user"]["media"]["page_info"]["has_next_page"]:
100                 end_cursors.append(data["user"]["media"]["page_info"]["end_cursor"])
101                 data = json.loads(requests.get('https://www.instagram.com/ducks_love_sun/?__a=1&max_id={}'.format(end_cursors[-1])).text)
102                 #pprint(data)
103                 
104                 for i in range(len(json_response["user"]["media"]["nodes"])):
105                     count = count + 1
106                     print json_response["user"]["media"]["nodes"][i]["likes"]["count"], count

在单张图片中,我们看到了这一点:

 u'likes': {u'count': 76,
                       u'nodes': [{u'user':

但是json中只显示了10个节点!

随意看一下这个例子: https://www.instagram.com/p/BRG1WiEA1yM/?__a=1

我尝试了以下但仍然获得了10个节点的内容:

pprint(img_response["media"]["likes"].items())

结果显示在此处:http://pastebin.com/7rPLqnUS

**更新:正如你在这个pastebin中看到的那样,带有很多注释的照片的json有end_cursor,我可以使用它来遍历所有注释:

http://pastebin.com/wbeZAt8y

虽然看似没有喜欢的光标!

1 个答案:

答案 0 :(得分:2)

反向端点不会返回超过10张Instagram照片的用户ID。

因此,您可以使用Instagram官方API端点获取所有喜欢的用户ID https://www.instagram.com/developer/endpoints/likes/#get_media_likes