我怎样才能抓住Instagram粉丝?

时间:2018-04-04 20:34:14

标签: c# selenium web-scraping instagram

有很多网站可以从Instagram个人资料中获取所有关注者的列表。 例如Jennifer Lopez 的个人资料。如果我点击关注者并向下滚动孔列表,我查看约1000个用户。有没有办法获得所有关注者列表,或者介于1万到10万用户之间的内容?其他人如何做到这一点?

以下几页似乎有效:

crowdbabble

Instagram Scrapper

magimetrics

如果你能帮助我,我将非常感激!

2 个答案:

答案 0 :(得分:3)

我相信您看到的大部分页面都使用Instagram API(或下面描述的方法)。但是,如果没有他们满意的应用程序,那就很难获得访问权限。据我了解,你必须先知道你是否有访问权限,这有点愚蠢。我猜他们试图阻止新用户使用它,同时他们继续让已经使用它的人继续使用它。

他们的API的文档似乎缺少很多早期可用的文档,而且现在没有端点可以获取关注者(这可能是文档页面暂时出错的地方:https://www.instagram.com/developer/endpoints/)。< / p>

你可以像Instagram网页一样使用粉丝。但是,如果您一次请求最多约5000-6000个关注者,似乎只会有效,并且您可能会受到限制。

他们向https://www.instagram.com/graphql/query/发出GET请求,其中包含查询参数query_hashvariables

我猜query_hash是变量的哈希值。但是,我可能错了,因为即使你改变变量它也会继续工作。相同的哈希可能不会永远有效,所以它可能你必须得到Instagram页面的相同方式。即使你没有登录,你也会得到,所以我认为这不会很难。

variables参数是一个包含搜索变量的URL编码JSON对象。 JSON应如下所示:

{
  "id":"305701719",
  "first":20
}

id是用户的ID。 first是您想要的关注者数量。

编码时,URL看起来像这样。 https://www.instagram.com/graphql/query/?query_hash=bfe6fc64e0775b47b311fc0398df88a9&variables=%7B%22id%22%3A%22305701719%22%2C%22first%22%3A20%7D

这将返回一个像这样的json对象:

"data": {
  "user": {
    "edge_followed_by": {
      "count": 73785285,
      "page_info": {
        "has_next_page": true,
        "end_cursor": "AQDJzGlG3jGfM6KGYF7oOhlMqDm9_-db8DW_8gKYTeKO5eIca7cRqL1ODK1SsMA33BYBbAZz3BdC3ImMT79a1YytB1j9z7f-ZaTIkQKEoBGepA"
      },
      "edges": [
        {
          "node": {}
        }
      ]
    }
  }
}

edges数组将包含一个节点元素列表,其中包含关于您搜索人员的人员的用户信息。

要获得下一个x个关注者,你必须将变量查询中使用的json更改为:

{
  "id":"305701719",
  "first":10,
  "after":"AQDJzGlG3jGfM6KGYF7oOhlMqDm9_-db8DW_8gKYTeKO5eIca7cRqL1ODK1SsMA33BYBbAZz3BdC3ImMT79a1YytB1j9z7f-ZaTIkQKEoBGepA"
}

after将是您在之前的请求中以end_cursor收到的内容。

,您的新网址如下所示:https://www.instagram.com/graphql/query/?query_hash=bfe6fc64e0775b47b311fc0398df88a9&variables=%7B%22id%22%3A%22305701719%22%2C%22first%22%3A10%2C%22after%22%3A%22AQDJzGlG3jGfM6KGYF7oOhlMqDm9_-db8DW_8gKYTeKO5eIca7cRqL1ODK1SsMA33BYBbAZz3BdC3ImMT79a1YytB1j9z7f-ZaTIkQKEoBGepA%22%7D

通过这种方式,您可以继续循环,直到响应中的has_next_pagefalse

答案 1 :(得分:1)

编辑23/08/2018

Instagram似乎已阻止任何滚动/查询哈希请求,以至少在台式机上甚至在您自己的帐户上,在帖子上获取关注者列表/喜欢者列表。

https://developers.facebook.com/blog/post/2018/01/30/instagram-graph-api-updates/

虽然仍然可以通过电话使用Appmiumhttp://appium.io/

也许有些reverse app engineering也可能是关键,如果那边有什么想法的话: https://www.blackhatworld.com/seo/journey-instagram-app-reverse-engineer.971468/

编辑25/08/2018

它似乎又回来了...有关它的任何信息吗?