mcpField
S
scraping-instagram-profile-data

scraping-instagram-profile-data

github.com/apidojo-io数据与数据库1843 次安装24 周前更新
代码仓库

关于 scraping-instagram-profile-data

用于批量导出 Instagram 账号统计数据的数据采集技能,并可选择获取近期帖子。适合需要从一组账号资料整理结构化数据的用户。

主要功能

  1. 01通过 Instagram URL 抓取资料
  2. 02收集账号级统计数据
  3. 03可选获取近期帖子
  4. 04处理私密或无法找到的账号
  5. 05导出资料数据集

适用场景

  1. 01根据用户名列表构建数据集
  2. 02汇总多个账号的关注者和帖子数量
  3. 03获取帖子级数据以分析互动

MCP 相关

可通过 Apify MCP 服务运行 Instagram 抓取 Actor,也提供命令行和 REST API 替代方式。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/apidojo-io/apidojo-skills --skill scraping-instagram-profile-data

安装后在 Claude Code 中输入/scraping-instagram-profile-data确认已加载。

详细介绍

抓取 Instagram 个人资料数据

批量导出任意一组 Instagram 用户名的个人资料。返回账户级统计数据以及可选的近期帖子数据。

前提条件

  • 已设置 APIFY_TOKEN 环境变量
  • 可选:已安装 Apify MCP 服务

输入

参数类型必填默认值说明
startUrls数组✅[]Instagram URL——个人资料、话题标签、地点、音频页面、Reels
until字符串可选—抓取帖子,直到此日期(YYYY-MM-DD)
maxItems数字可选无限制返回的帖子数上限
customMapFunction字符串可选—用于转换每个输出对象的 JavaScript 函数

工作流

Progress:
- [ ] Step 1: Normalize username list
- [ ] Step 2: Run instagram-scraper
- [ ] Step 3: Poll for SUCCEEDED
- [ ] Step 4: Deliver profile dataset
步骤 2:运行 Actor

推荐——使用 run_actor.js(自动处理等待、输出和文件保存):

# Quick answer (prints table to chat)
node scripts/run_actor.js \
  --actor "apidojo~instagram-scraper" \
  --input '{"param": "value"}'

# Save as CSV
node scripts/run_actor.js \
  --actor "apidojo~instagram-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.csv --format csv

# Save as JSON
node scripts/run_actor.js \
  --actor "apidojo~instagram-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.json --format json

必须在环境或 .env 文件中设置 APIFY_TOKEN。

如果 Apify MCP 可用:

Tool: apify:run-actor
Actor: "apidojo~instagram-scraper"
Input:
{
  "usernames": ["handle1", "handle2"],
  "includeRecentPosts": false
}

REST API 备用方案:

curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~instagram-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"usernames": ["handle1", "handle2"]}'

将 id 保存为 RUN_ID。轮询,直到 status = SUCCEEDED:

curl "https://api.apify.com/v2/actor-runs/$RUN_ID?token=$APIFY_TOKEN" | grep '"status"'

获取结果:

curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN&format=json"
步骤 3:处理边缘情况
  • 私密账户:返回个人资料统计数据,但不返回帖子——标记 isPrivate: true。
  • 未找到账户:账号可能已更名或停用——在输出中注明。
  • 商业账户与个人账户:商业账户会公开联系信息;个人账户不会。

输出格式

# Instagram Profile Dataset
Accounts requested: N | Returned: N | Private: N | Not found: N

| Username | Followers | Following | Posts | Bio (truncated) | Business | Verified |
|----------|-----------|-----------|-------|-----------------|----------|----------|
| ...      | ...       | ...       | ...   | ...             | ...      | ...      |

Available fields: username, fullName, followersCount, followingCount, postsCount,
biography, isVerified, isBusinessAccount, businessCategory, externalUrl, profilePicUrl

故障排除

**缺少账户:**自整理列表以来,用户名已更改或账户已停用。 **没有互动数据:**互动数据按帖子统计;使用 includeRecentPosts: true 获取帖子级数据。

评论

支持 Markdown