如何在 Instagram 上获取帐户关注者列表

问题描述 投票:0回答:1

我想获取关注者列表。我正在开发一个拥有 48.2K 关注者的页面。这是我的网址

https://i.instagram.com/api/v1/friendships/X XX/followers/?count=12&search_surface=follow_list_page

我将此 URL 的输出作为 JSON,然后使用 Python 脚本来过滤用户名。

我的 JSON 文件示例:https://linkode.org/#481s8ac3FmDIgHttTkLHW3

我的Python脚本:

import json
f = open('data.json')
data = json.load(f)
for i in data['users']:
    print(i["username"])
f.close()

一切都很好。它将显示关注者列表,但不是全部。可以更改

count
值,例如
https://i.instagram.com/api/v1/friendships/X XX/followers/?count=99999&search_surface=follow_list_page
,即使现在它也没有给我们完整的关注者列表(48.2K)。知道如何获得关注者的完整列表吗?

python json instagram instagram-api
1个回答
0
投票

您可以使用 while 在脚本中进行循环,直到滚动浏览用户的所有关注者

import requests

    def get_all_following(user_id, cookie):
        base_url = f"https://i.instagram.com/api/v1/friendships/{user_id}/following/"
        params = {'count': 12}
        followers = []

    while True:
        response = requests.get(base_url, params=params, headers={'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Instagram 105.0.0.11.118 (iPhone11,8; iOS 12_3_1; en_US; en-US; scale=2.00; 828x1792; 165586599)', 'Cookie': cookie})
        data = response.json()

        if not data.get('users'):
            break

        followers.extend(data['users'])
        
        if 'next_max_id' in data:
            params['max_id'] = data['next_max_id']
        else:
            break

    return followers

# Replace these with your actual values
user_id = 'USER ID HERE'
cookie = 'your_cookie_string_here'

followers_list = get_all_following(user_id, cookie)
print(followers_list)

© www.soinside.com 2019 - 2024. All rights reserved.