You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Instaloader获取的Instagram数据导出至CSV文件?

导出Instagram关注者数据至CSV的正确实现方法

需要获取Instagram账号strengthinsheets的关注者信息(全名、用户名、粉丝数)并导出为CSV文件,原代码能打印正确数据,但修改后的导出代码无法正常生成CSV。以下是问题分析及两种可行解决方案:


原修改代码的问题

  • 循环中仅生成数据元组但未存储,后续无法调用这些数据
  • writer.writerows(followee)用法错误:writerows需要接收包含多行数据的可迭代对象,而非单个关注者对象
  • 错误导入turtle库的pd,这是无效操作;若要使用pandas需正确导入
  • 属性混淆:原代码用followee.followees(代表该关注者账号关注的人数),若要获取粉丝数量应使用followee.followers

方案一:使用Python内置csv模块

import csv
import instaloader

# 初始化Instaloader并登录
loader = instaloader.Instaloader()
loader.login("你的用户名", "你的密码")

# 获取目标账号的Profile对象及关注者列表
profile = instaloader.Profile.from_username(loader.context, "strengthinsheets")
followees = profile.get_followees()

# 收集所有关注者数据(含表头)
followee_data = []
followee_data.append(["全名", "用户名", "粉丝数量"])

# 遍历提取所需信息
for followee in followees:
    row = [followee.full_name, followee.username, followee.followers]
    followee_data.append(row)

# 写入CSV文件
with open('followers.csv', 'w', newline='', encoding='utf-8') as file:
    writer = csv.writer(file)
    writer.writerows(followee_data)

说明:

  • 先通过列表统一存储所有数据,确保后续可批量写入
  • 指定newline=''避免导出的CSV出现多余空行,encoding='utf-8'支持特殊字符显示

方案二:使用pandas的to_csv方法(适合熟悉pandas的用户)

import pandas as pd
import instaloader

# 初始化Instaloader并登录
loader = instaloader.Instaloader()
loader.login("你的用户名", "你的密码")

# 获取目标账号的Profile对象及关注者列表
profile = instaloader.Profile.from_username(loader.context, "strengthinsheets")
followees = profile.get_followees()

# 收集数据为字典列表
data = []
for followee in followees:
    data.append({
        "全名": followee.full_name,
        "用户名": followee.username,
        "粉丝数量": followee.followers
    })

# 转为DataFrame并导出CSV
df = pd.DataFrame(data)
df.to_csv('followers.csv', index=False, encoding='utf-8')

说明:

  • 字典列表结构更直观,便于转为pandas的DataFrame
  • index=False避免导出时添加多余的索引列

内容的提问来源于stack exchange,提问作者Anthony Madle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 22:30:48