如何使用Instagram graphql获取个人资料帖子网址?

时间:2018-04-08 22:06:28

标签: web-scraping instagram graphql

我试图获取Instagram个人资料的帖子。

通过以下内容,我可以获得配置文件主页面的json,其中包含前12个帖子网址,其余部分在向下滚动配置文件页面时加载。

https://www.instagram.com/pele/?__a=1

另外,通过以下内容,我可以获得一个json,其中包含跟随给定配置文件的用户,并通过更改" first = XXXX"的值来获取所需数量的json。 (您需要登录到Instagram)

https://www.instagram.com/graphql/query/?query_id=17851374694183129&id=590087950&first=100

我怎么可能得到这个用户的帖子列表,包括url(最重要的),但也许还有使用Instagram graphql作为该帖子的喜欢或评论的信息?

实际上我需要的是帖子的ID(/ p /之后的部分),以便我可以像这样制作网址: https://www.instagram.com/p/Bg1DhGmDAsU/

1 个答案:

答案 0 :(得分:1)

几天以来,__ a = 1获取最后帖子的方法被阻止了。

要从Instagram个人资料中获取最后15个帖子,您必须获取网址并提取 _sharedData JSON

<强>的Javascript

let url = "https://www.instagram.com/"+username;
$.ajax({
    type: 'GET',
    url: url,
    error: function () {
        //..
    },
    success: function (data) {
        data = JSON.parse(data.split("window._sharedData = ")[1].split(";</script>")[0]).entry_data.ProfilePage[0].graphql;
        console.log(data);
    }
})

您可以在客户端或服务器端执行此操作而无需登录。