python - 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 个名称,它也会超时
解决方案
有itertools.islice()函数,它只允许获取迭代器返回的前 N 个元素。因此,要仅获得前 100 个关注者而不是全部关注者,只需执行以下操作
from itertools import islice
followers = set(islice(profile.get_followers(), 100))
推荐阅读
- javascript - 用嵌套对象展平数组
- c# - 无法访问 ASP.NET Core 后台服务中的已释放对象
- python - 在 python 中行走嵌套字典
- java - 使用 HttpURLConnection 添加自定义标头
- r - 从 xlsx 文件加载数据作为日期和时间
- php - 如何让 Yii2 中的所有模型属性都安全?
- react-native - React Native Navigation - 将 Stack Navigator 的 navigationOptions 放入 Bottom Tab Navigator
- sql - 在 SQL 中从同一张表和其他表中填充信息
- javascript - _this.showModal 不是一个函数,因为 reactjs 中的 ref
- python - Docker 在容器内运行