首页 > 解决方案 > 使用 API 获取粉丝数超过 100 万的 Instagram 用户

问题描述

我可以从中获取用户数据i.instagram.com/api/v1/users/${account}/info,但我只是想知道是否可以使用 API 获取关注者数量超过 100 万的用户。

因为现在如果我想这样做,唯一的方法是获取许多用户,然后按他们的关注者数量过滤他们。由于存在 API 速率限制,因此这不是一个好方法。

标签: instagraminstagram-api

解决方案


我不相信通过任何官方 Instagram 端点都是可能的。您可以尝试像这样的第 3 方 API:https ://socialblade.com/business-api或者可能为此页面编写爬虫https://socialblade.com/instagram/top/100/followers以获得前 100 名用户.

这些是当前 Instagram API 的官方文档页面:

编辑:

这是一个脚本,它将为您提供一个 Pandas DataFrame,其中包含前 38574 个 Instagram 个人资料及其各自来自 trackalytics 的追随者。您可以从那里轻松排序。

import requests as r
from bs4 import BeautifulSoup
import pandas as pd
import locale, time
from tqdm import tqdm, trange

url = 'https://www.trackalytics.com/the-most-followed-instagram-profiles/page/1/'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'}

locale.setlocale( locale.LC_ALL, 'en_US.UTF-8' ) 
wp = r.get(url, headers=headers).text
soup = BeautifulSoup(wp, 'html.parser')
pages = soup.find(id='paging').next_element.next_element.next_element.next_element.next_element
pages = int(pages.split()[3])
row_collector = []
progress = tqdm(range(1,pages))
for page in progress:
  p_url = 'https://www.trackalytics.com/the-most-followed-instagram-profiles/page/' + str(page) + '/'
  tp = r.get(p_url, headers=headers).text
  tsoup = BeautifulSoup(tp, 'html.parser')
  rows = tsoup.findAll("tr")
  for row in range(1,25):
    profile = rows[row].find(style='vertical-align:middle;width:45px;height:45px;').next_element.contents[0]
    followers = rows[row].find(style='vertical-align:middle;width:45px;height:45px;').next_element.next_element.next_element.next_element.contents[0].split()[0]
    followers = locale.atoi(followers)
    temp = [profile,followers]
    row_collector.append(temp)
   # Enter rate limiting per page here
df = pd.DataFrame(row_collector)
df[['profile','followers']] = df[[0,1]]
del df[0]
del df[1]
display(df)

使用前 25 个配置文件预览数据框:

在此处输入图像描述

对我来说,这需要大约 20 分钟来运行整个循环以吸引 38,000 个用户。

如果您想测试脚本,这是一个 Google Colab 笔记本: https ://colab.research.google.com/drive/185o2fOdxRFHEsfvp7QOMILM6V2Rs9X22?usp=sharing


推荐阅读