关于 scraping-instagram-location-posts
用于导出标记了实体地点的 Instagram 帖子的数据采集技能,可通过地点 ID 或地点页面 URL 收集地理标记内容。
主要功能
- 01按地点 ID 收集帖子
- 02支持 Instagram 地点页面 URL
- 03按日期筛选帖子
- 04返回帖子数据集
适用场景
- 01收集标记某场所的帖子
- 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