wos-export について
wos-export は、Web of Science の論文レコードを Zotero に登録したり、ファイルにエクスポートしたりするスキルです。WoS のメタデータを対応付け、Zotero を使えない場合やファイルが必要な場合はブラウザーからの出力にも対応します。
主な機能
- 01レコードの Zotero 登録
- 02WoS フィールドの Zotero への対応付け
- 03再試行時の重複防止
- 04RIS、BibTeX、Excel、テキストへの出力
- 05WoS 画面からのレコード出力
活用シーン
- 01検索結果を選択中の Zotero コレクションに保存
- 02WoS レコードを RIS または BibTeX ファイルで出力
- 03WoS ID や引用データを Zotero に保存
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ cookjohn/ wos-skills --skill wos-exportインストール後、Claude Code で/wos-exportを入力して読み込まれたか確認します。
同梱ファイルscripts/push_to_zotero.py
詳細
WoS エクスポート
WoS の論文レコードをエクスポートします。2 つのモードがあります。Zotero への直接プッシュ(推奨)または UI を使ったファイルエクスポートです。
モード A:Zotero にプッシュ(推奨、UI 操作不要)
論文のメタデータ(以前の検索結果や詳細結果から)を収集し、push_to_zotero.py スクリプトを使って Zotero にプッシュします。
ステップ 1:論文データを準備する
会話内ですでに利用可能なデータ(wos-search API の結果または wos-paper-detail による抽出)から JSON オブジェクトを作成します。このスクリプトは WoS の論文フィールドを直接受け付けます。
{
"title": "Value co-creation in service logic",
"authors": "Grönroos, C",
"source": "MARKETING THEORY",
"year": 2011,
"volume": "11",
"issue": "3",
"pages": "279-301",
"doi": "10.1177/1470593111408177",
"issn": "1470-5931",
"abstract": "The underpinning logic of...",
"language": "English",
"accessionNumber": "WOS:000295471900004",
"authorKeywords": ["value co-creation", "service logic"],
"keywordsPlus": ["DOMINANT LOGIC"],
"citedCount": "992",
"alldbCited": "1,254",
"jif": "2.8",
"jifYear": "2024",
"jcrQuartile": "Q3",
"researchAreas": "Business & Economics",
"wosCategories": "Business",
"docType": "Article"
}
複数の論文を指定する場合は、配列または {"items": [...]} で囲みます。
ステップ 2:スクリプトでプッシュする
echo '{JSON_DATA}' | python "e:\wos-skills\.claude\skills\wos-export\scripts\push_to_zotero.py"
または、先に一時ファイルに保存します(データ量が多い場合や中国語の文字を含む場合に推奨)。
python "e:\wos-skills\.claude\skills\wos-export\scripts\push_to_zotero.py" /tmp/wos_export.json
ステップ 3:結果を報告する
OK: Saved (session: xxx)→ 成功OK: Already saved (session: xxx)→ 冪等性により、重複は発生しませんError: Zotero not running→ Zotero デスクトップアプリを起動するようユーザーに伝えます
スクリプトは、Zotero で現在選択されているコレクションを自動検出します。エクスポート前に Zotero で別のフォルダーを選択すると、保存先を変更できます。
コレクションを一覧表示するには、python push_to_zotero.py --list を実行します。
モード B:UI を使ったファイルエクスポート(フォールバック)
Zotero を利用できない場合、またはユーザーが特にファイルを希望する場合に使用します。
前提条件
ブラウザーで WoS の検索結果ページ(/summary/...)または全レコードページ(/full-record/...)を開いている必要があります。
対応形式
| 形式 | メニュー項目 | ファイル |
|---|---|---|
| RIS | "RIS (other reference software)" | .ris |
| BibTeX | "BibTeX" | .bib |
| Excel | "Excel" | .xlsx |
| プレーンテキスト | "Plain text file" | .txt |
| Fast 5000 | "Fast 5000" | クイックエクスポート |
手順
take_snapshot→ Export ボタン(haspopup="menu"を持ち、"Export" を含むbutton)を探す →clicktake_snapshot→ 形式の menuitem を探す →click- エクスポートダイアログ(レコード範囲、コンテンツのオプション)に対応する → ダウンロードボタンをクリックする
UI エクスポートに関する注意事項
- 3~4 回のツール呼び出しを使用します:snapshot + Export をクリック + snapshot + 形式をクリック + ダイアログ
- "Fast 5000" は基本フィールドを含む最大 5000 件のレコードをエクスポートします
- 全レコードページでは、現在のレコードのみをエクスポートします
Zotero スクリプトの機能
- 決定論的なセッション ID:同じ論文には常に同じセッション ID が割り当てられます(コンテンツハッシュ)。再試行時の重複を防ぎます(409 → 成功として処理)。
- WoS メタデータのマッピング:WoS フィールドを Zotero の journalArticle スキーマに自動的にマッピングします。
- Extra フィールド:WoS 固有のデータ(WoS ID、引用数、JIF、JCR 四分位、研究分野)を Zotero の Extra フィールドに保存します。
- 著者の解析:WoS 標準形式の「LastName, Initials」を処理し、Zotero の firstName/lastName に変換します。
- キーワード:Author Keywords と Keywords Plus の両方を Zotero のタグとして追加します。
注意事項
- モード A(Zotero へのプッシュ)ではブラウザー操作は不要です。以前の API 呼び出しで取得したデータを使用します
- モード A は、ブラウザーが WoS ページを開いていない場合でも動作します
- スクリプトのパス:
e:\wos-skills\.claude\skills\wos-export\scripts\push_to_zotero.py - Zotero は localhost:23119 で実行されている必要があります