用途:把 Google Scholar 上的论文引用数据导出到 Zotero 桌面版,通过 BibTeX 提取实现。
主要能力:支持单篇或批量导出。参数 $ARGUMENTS 为一个或多个空格分隔的 data-cid,例如 TFS2GgoGiNUJ 表示单篇,TFS2GgoGiNUJ abc123XYZ def456UVW 表示批量。
使用方式:对每个 data-cid 执行三步。第一步获取 BibTeX:先抓取 cite 对话框拿到 BibTeX 链接,再导航到该 BibTeX URL(位于 scholar.googleusercontent.com,用 navigate_page 绕过 CORS),最后读取 BibTeX 内容。第二步解析 BibTeX 并推送 Zotero:将解析后的论文数据写成 JSON 到 /tmp/gs_papers.json,再调用 python "E:/gscholar-skills/.claude/skills/gs-export/scripts/push_to_zotero.py" /tmp/gs_papers.json。JSON 字段包括 pmid、title、authors、journal、journalAbbr、pubdate、volume、issue、pages、doi、pdfUrl、abstract、keywords、language、pubtype。pdfUrl 应取自搜索结果 fullTextUrl 字段,脚本会下载 PDF 并通过 /connector/saveAttachment 上传到 Zotero(Zotero 7.x 会忽略 saveItems 中的附件)。第三步报告导出结果。
BibTeX 字段映射:@article 对应 journalArticle,@inproceedings 对应 conferencePaper,@book 对应 book;title、author、journal、year、volume、number、pages、publisher 分别映射到相应字段。
批量优化:多篇论文按顺序处理以避免 CAPTCHA,先一次抓取所有 BibTeX 链接,再逐个导航,最后一次性批量推送。
限制:Google Scholar 的 BibTeX 不含摘要和 DOI,这些字段在 Zotero 中为空;部分出版商的 PDF 下载可能失败(403、JS 跳转),会报告为 PDF skip。单篇约需 3-4 次工具调用,批量约 2N+1 次。导出后可导航回 Google Scholar 页面。