mcpField
S
scraping-instagram-posts-by-hashtag

scraping-instagram-posts-by-hashtag

github.com/apidojo-ioデータ・データベース1822 回インストール24 週間前に更新
リポジトリ

scraping-instagram-posts-by-hashtag について

ハッシュタグに一致する Instagram 投稿を収集し、投稿ごとのメタデータを返すスキルです。キャプション、投稿者、反応のデータセット作成に向けて、Reels の追加や日付の指定ができます。

主な機能

  1. 01ハッシュタグによる投稿収集
  2. 02Reels の任意追加
  3. 03日付の上限指定
  4. 04取得件数の制限
  5. 05投稿と反応のメタデータ取得

活用シーン

  1. 01ハッシュタグ投稿のデータセット作成
  2. 02投稿ごとのいいね数とコメント数の確認
  3. 03Reels を含むハッシュタグ投稿の収集

MCP 対応

Apify MCP サーバーが利用可能な場合、Apify Instagram hashtag scraper を実行できます。コマンドラインと REST API の代替手段も記載されています。

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/scraping-instagram-posts-by-hashtagを入力して読み込まれたか確認します。

詳細

ハッシュタグでInstagram投稿をスクレイピング

任意のハッシュタグのInstagram投稿データセットです。エンゲージメントや投稿者情報を含む、投稿単位のメタデータを返します。

前提条件

  • APIFY_TOKEN 環境変数が設定されていること
  • 任意:Apify MCP サーバーがインストールされていること

入力

パラメーター型必須デフォルト備考
startUrlsarray任意[]Instagramのハッシュタグ検索URL
keywordstring任意—検索するハッシュタグキーワード(例:fitness)
getReelsboolean任意false結果にリールを含める
getPostsboolean任意true結果に通常の投稿を含める
untilstring任意—日付フィルター(YYYY-MM-DD)
maxItemsnumber任意無制限返す投稿の最大数
customMapFunctionstring任意—各出力オブジェクトを変換するJavaScript関数

ワークフロー

Progress:
- [ ] Step 1: Normalize hashtag input
- [ ] Step 2: Run instagram-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-hashtag-scraper" \
  --input '{"param": "value"}'

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

# Save as 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が利用できる場合:

Tool: apify:run-actor
Actor: "apidojo~instagram-hashtag-scraper"
Input:
{
  "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"
ステップ3:エッジケースに対処する
  • 禁止されたハッシュタグ: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 |
|---------|--------|---------------------|-------|----------|------|-----------|
| ...     | ...    | ...                 | ...   | ...      | ...  | ...       |

Available fields: id, ownerUsername, caption, likesCount, commentsCount, type,
timestamp, url, mediaUrl, hashtags, mentions

トラブルシューティング

結果が0件: ハッシュタグがInstagramによって禁止または制限されている可能性があります。 レート制限: 1回の実行あたり maxItems を200以下にし、実行の間隔を5分空けてください。

コメント