mcpField
S
scraping-instagram-location-posts

scraping-instagram-location-posts

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

关于 scraping-instagram-location-posts

用于导出标记了实体地点的 Instagram 帖子的数据采集技能,可通过地点 ID 或地点页面 URL 收集地理标记内容。

主要功能

  1. 01按地点 ID 收集帖子
  2. 02支持 Instagram 地点页面 URL
  3. 03按日期筛选帖子
  4. 04返回帖子数据集

适用场景

  1. 01收集标记某场所的帖子
  2. 02查看某地点的地理标记内容

MCP 相关

如有 Apify MCP 服务,可通过它运行 Apify Instagram 地点抓取器。

安装

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

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

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

详细介绍

抓取 Instagram 地点帖子

导出标记在任何实体地点的 Instagram 帖子。使用 Instagram 地点 ID 或地点名称收集带有地理标记的内容。

前提条件

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

输入

参数类型必填默认值说明
startUrls数组可选[]Instagram 地点页面 URL
locationIds数组可选[]Instagram 地点 ID
maxItems数字可选不限返回帖子的最大数量
until字符串可选—日期筛选(YYYY-MM-DD)
customMapFunction字符串可选—用于转换每个输出对象的 JavaScript 函数

工作流

Progress:
- [ ] Step 1: Resolve location ID
- [ ] Step 2: Run instagram-location-scraper
- [ ] Step 3: Poll for SUCCEEDED
- [ ] Step 4: Deliver post dataset
步骤 2:运行 Actor

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

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

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

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

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

如果 Apify MCP 可用:

Tool: apify:run-actor
Actor: "apidojo~instagram-location-scraper"
Input:
{
  "locationIds": ["<LOCATION_ID>"],
  "maxItems": 100
}

REST API 备用方案:

curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~instagram-location-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"locationIds": ["<LOCATION_ID>"], "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"
步骤 3:处理边缘情况
  • 未找到地点 ID:ID 无效或地点已从 Instagram 移除 — 向用户说明。
  • 帖子数量较少:小众地点可能少于 20 条帖子 — 返回所有可用帖子。
  • 信息流中有私人账号的帖子:元数据可见,但媒体可能受限。

输出格式

# Instagram Location Posts: <location name>
Location ID: <id> | Posts collected: N

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

故障排除

没有地点 ID: 访问 https://www.instagram.com/explore/locations/ 并搜索 — ID 位于 URL 中。 结果为 0: 地点可能已更名或合并 — 搜索新的 ID。

评论

支持 Markdown