conference-speaker-scraper について
会議の登壇者ページから氏名、役職、会社、プロフィールを抽出するコマンドラインスキルです。複数のHTML抽出方法を試し、JavaScript依存のサイトではApifyも利用できます。
主な機能
- 01氏名、役職、会社、プロフィールの抽出
- 02複数のHTML抽出方法を試行
- 03JavaScript依存サイトでApifyを使用
- 04JSON、CSV、要約で出力
活用シーン
- 01会議の登壇者リスト作成
- 02登壇者情報の連絡先調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ gooseworks-ai/ goose-skills --skill conference-speaker-scraperインストール後、Claude Code で/conference-speaker-scraperを入力して読み込まれたか確認します。
同梱ファイルscripts/scrape_speakers.pyskill.meta.json
詳細
カンファレンス登壇者スクレーパー
カンファレンスのウェブサイトにある /speakers ページから、登壇者の名前、肩書き、所属企業、略歴を抽出します。複数の抽出戦略を使った HTML の直接スクレイピングに対応し、JavaScript を多用するサイトでは Apify にフォールバックします。
クイックスタート
直接スクレイピングモードでは API キーは不要です。
# Scrape speakers from a conference page
python3 skills/conference-speaker-scraper/scripts/scrape_speakers.py \
--url "https://example.com/speakers"
# Use Apify for JS-heavy sites
python3 skills/conference-speaker-scraper/scripts/scrape_speakers.py \
--url "https://example.com/speakers" --mode apify
# Custom conference name (otherwise inferred from URL)
python3 skills/conference-speaker-scraper/scripts/scrape_speakers.py \
--url "https://example.com/speakers" --conference "Sage Future 2026"
# Output formats
python3 skills/conference-speaker-scraper/scripts/scrape_speakers.py --url URL --output json # default
python3 skills/conference-speaker-scraper/scripts/scrape_speakers.py --url URL --output csv
python3 skills/conference-speaker-scraper/scripts/scrape_speakers.py --url URL --output summary
仕組み
直接モード(デフォルト)
ページの HTML を取得し、複数の抽出戦略を順に試します。最も多くの結果を返す戦略を使用します。
- 戦略 A -- CSS クラスのヒント: クラス名に "speaker"、"presenter"、"faculty"、"panelist"、"team-member" を含む登壇者カードを探します
- 戦略 B -- 見出しと段落のパターン: 繰り返される
<h2>/<h3>+<p>の構造を探します - 戦略 C -- JSON-LD 構造化データ: 登壇者データを含む
<script type="application/ld+json">を確認します - 戦略 D -- プラットフォームの埋め込み: 多くのカンファレンスで使われている Sched.com/Sessionize のパターンを検出します
Apify モード
一般的な登壇者カードのセレクターを対象とするカスタムページ関数と、apify/cheerio-scraper アクターを使用します。標準的な POST/ポーリング/データセット GET のパターンです。
CLI リファレンス
| フラグ | デフォルト | 説明 |
|---|---|---|
--url | 必須 | カンファレンスの登壇者ページの URL |
--conference | 推定 | カンファレンス名(指定しない場合は URL のドメインから推定) |
--mode | direct | direct(HTML スクレイピング)または apify(Apify の cheerio スクレーパー) |
--output | json | 出力形式:json、csv、または summary |
--token | 環境変数 | Apify トークン(apify モードでのみ必要) |
--timeout | 300 | Apify の実行に許可する最大秒数 |
出力スキーマ
{
"name": "Jane Smith",
"title": "VP of Finance",
"company": "Acme Corp",
"bio": "Jane leads the finance transformation at...",
"linkedin_url": "https://linkedin.com/in/janesmith",
"image_url": "https://...",
"conference": "Sage Future 2026",
"source_url": "https://sagefuture2026.com/speakers"
}
コスト
- 直接モード: 無料(API 不要、トークン不要)
- Apify モード:
apify/cheerio-scraperを使用 -- Apify クレジットの消費は最小限です
テストに関する注意
HTML スクレイピングは、カンファレンスのサイトによって結果が不安定になりやすいものです。複数の戦略を使うことで幅広いサイトに対応できますが、JavaScript を多用するサイトでは Apify モードが必要です。直接スクレイピングで結果が 0 件の場合は、--mode apify を試してください。
コメント
Markdown 対応