SuperAPI AI 工具集

scraping-instagram-posts-by-hashtag

营销与增长

查看项目

更新于 10-15 12:09

技能介绍

用途

本技能用于按话题标签(Hashtag)抓取 Instagram 帖子,基于 Apify 平台上的 apidojo Instagram scraper 运行。它返回原始 Instagram 帖子数据集,包含帖子级元数据,包括互动数据和作者信息。当用户要求获取某话题标签下的 Instagram 帖子、抓取相关数据时触发。

主要能力

  • 按话题标签关键词抓取 Instagram 帖子
  • 可选择是否包含 Reels
  • 可选择是否包含普通帖子
  • 支持日期过滤(YYYY-MM-DD)
  • 支持设置最大返回帖子数
  • 支持通过自定义 JavaScript 函数对每个输出对象进行转换
  • 输出字段包括:id、ownerUsername、caption、likesCount、commentsCount、type、timestamp、url、mediaUrl、hashtags、mentions

输入参数

参数 类型 是否必填 默认值 说明
startUrls array 可选 [] Instagram 话题标签搜索 URL
keyword string 可选 — 要搜索的话题标签关键词(例如 fitness)
getReels boolean 可选 false 是否在结果中包含 Reels
getPosts boolean 可选 true 是否在结果中包含普通帖子
until string 可选 — 日期过滤(YYYY-MM-DD)
maxItems number 可选 不限 返回的最大帖子数
customMapFunction string 可选 — 用于转换每个输出对象的 JavaScript 函数

使用方式

前置条件

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

工作流程

  1. 规范化话题标签输入
  2. 运行 instagram-scraper
  3. 轮询直到状态为 SUCCEEDED
  4. 返回帖子数据集

运行 Actor(推荐使用 run_actor.js,自动处理等待、输出和文件保存)

快速回答(在聊天中打印表格):

node scripts/run_actor.js \
  --actor "apidojo~instagram-hashtag-scraper" \
  --input '{"param": "value"}'

保存为 CSV:

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

保存为 JSON:

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

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

如果 Apify MCP 可用

工具:apify:run-actor Actor:"apidojo~instagram-hashtag-scraper" 输入:

{
  "keywords": ["tag1", "tag2"],
  "maxItems": 100,
  "mediaType": "all"
}

REST API 备用方式

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

保存 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"

边界情况处理

  • 被封禁的话题标签:Instagram 会隐藏某些话题标签,返回 0。可尝试父级分类。
  • 仅返回热门帖子:Instagram 会限制话题标签信息流;非常热门的话题标签可能只返回热门帖子。
  • 私密账号帖子:帖子元数据可见,但媒体 URL 可能受限。

输出格式

# Instagram Post Dataset: #<hashtag>
Posts collected: N | Media type: all/image/video

| Post ID | Author | Caption (truncated) | Likes | Comments | Type | Timestamp |
|---------|--------|---------------------|-------|----------|------|-----------|
| ...     | ...    | ...                 | ...   | ...      | ...  | ...       |

可用字段:id、ownerUsername、caption、likesCount、commentsCount、type、timestamp、url、mediaUrl、hashtags、mentions

故障排除

  • 0 结果:话题标签可能被 Instagram 封禁或限制。
  • 速率限制:每次运行保持 maxItems ≤ 200;运行间隔 5 分钟。