首页 > 解决方案 > Python instaloader 获取最大关注者数量

问题描述

有没有办法限制 pythons instaloader.get_followers() 收集的关注者数量?我正在尝试下载 100k+ 个人资料的一些关注者,但它超时,因为有很多用户要下载,它会尝试下载所有这些关注者。

    username = "user"
    pw = "pw"

    instaL = instaloader.Instaloader()
    instaL.login(username, pw)

    def get_names(website, follow):
        profile = instaloader.Profile.from_username(instaL.context, website)
        followers = []
        if follow == "followers":
            followers = set(profile.get_followers())
        if follow == "followee":
            followers = set(profile.get_followees())
        names = []
        for follower in followers:
            names.append(follower.username)
        return names

因此,如果我将网站设置为例如“world_record_egg”,即使我只想要前 100 个名称,它也会超时

标签: pythoninstagram

解决方案


itertools.islice()函数,它只允许获取迭代器返回的前 N ​​个元素。因此,要仅获得前 100 个关注者而不是全部关注者,只需执行以下操作

from itertools import islice

followers = set(islice(profile.get_followers(), 100))

推荐阅读