scientific-agent-skills 引文管理实战Google Scholar 高级检索、元数据提取与自动化导出完整指南【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills本指南以 citation-management 技能的 google_scholar_search.md 为核心骨架系统讲解 Google Scholar 的检索语法、过滤策略、检索方法论与元数据提取并结合仓库内真实脚本 search_google_scholar.py 给出可运行的自动化方案。读完你可以独立完成从关键词构造 → 高级运算符精筛 → 按年份/引用排序 → BibTeX/JSON 批量导出 → 限速规避与元数据补全的完整学术检索流程并掌握如何与 PubMed、OpenAlex 互补以获得无偏见的参考文献集。下图展示本技能面向科研场景的端到端引文管理工作流Google Scholar 与 OpenAlex、PubMed 并列作为文献发现Discovery阶段的检索入口其产出经元数据提取、去重与验证后进入 BibTeX/LaTeX 输出。Google Scholar 在引文管理流程中的定位在开始检索前先明确场景Google Scholar 是学术文献覆盖面最广的检索入口本技能对其能力做了如下总结覆盖规模检索索引覆盖 1 亿 学术文档按本指南概述所述学科范围覆盖全部学术学科跨学科检索能力突出内容类型期刊论文、书籍、学位论文、会议论文、预印本、专利与法院判例均可命中引文追踪每条记录提供 Cited by 链接可用于前向引文追踪易用性免费使用、无需账号即可访问。同时要注意它的硬约束Google Scholar 不提供官方开放 API。本仓库的做法是经第三方scholarly库抓取其检索页因此在 SKILL.md 中它被定位为补充检索源而非主要依赖——原文明确建议优先使用 OpenAlex 或 PubMed两者都有规范的 REST API只有在需要跨学科广度或前向引文网络时才用 ScholarGoogle Scholar has no API:scholarlyscrapes it, sleeps 2–5 s between results, and is blocked often enough that it should be a supplement rather than a dependency.这解释了为什么脚本默认在每个结果间随机休眠 2–5 秒也解释了为什么本文后面要单设一节讲限速与访问策略。在 citation-management 的五阶段工作流中Google Scholar 检索属于Phase 1: Paper Discovery and Search检索结果后续将流入 Phase 2 元数据提取与 Phase 3 BibTeX 格式化。环境准备与脚本入口仓库提供的检索脚本位于 scripts/search_google_scholar.py依赖第三方库scholarly其余脚本如format_bibtex.py、validate_citations.py仅用标准库参见 _common.py 顶部注释。安装方式与 Python 版本要求Python 3.9见 SKILL.mduv pip install scholarly # 仅 search_google_scholar.py 需要若未安装scholarly脚本会在启动时打印警告main()会直接报错退出并提示改用本技能的 PubMed 脚本作为生物医学检索替代方案。首次运行可用最简单的形式验证环境python skills/citation-management/scripts/search_google_scholar.py \ machine learning drug discovery命令行入口的参数由argparse定义见 search_google_scholar.py 的main()全套选项如下参数类型/取值默认值说明query位置参数str必填检索词支持全文运算符语法--limitint50最大返回结果数--year-startint无起始年份过滤--year-endint无结束年份过滤--sort-byrelevance/citationsrelevance排序方式citations时按被引量降序--use-proxy布尔开关关闭用scholarly的免费代理降低被封概率-o/--output路径stdout输出文件路径--formatjson/bibtexjson输出格式JSON 输出统一包装为{query: ..., count: ..., results: [...]}每个结果由 search() 的元数据抽取逻辑映射为固定字段title、authors以,连接、year、venue、abstract、citations、url、eprint_url存在免费副本时的链接。其中eprint_url是后续开放获取筛选的关键字段请先记住它。基础检索从关键词到精确短语简单关键词检索Google Scholar 默认在整个文档标题、摘要、全文中匹配检索词CRISPR gene editing machine learning protein folding climate change impact agriculture quantum computing algorithms注意事项尽量使用准确的技术术语而非日常口语表达同时给出关键缩写与全称如 CRISPR 与 clustered regularly interspaced short palindromic repeats先宽后窄先放宽范围观察结果总量再用运算符收窄检查科技术语拼写拼错会直接丢结果。精确短语检索用英文双引号包裹短语要求多个词必须连续、原序出现deep learning CRISPR-Cas9 systematic review randomized controlled trial适用场景必须整体出现的复合技术术语、专有名词、特定方法论名称、以及你想精确定位的论文标题。短语检索是后面所有精确化策略的基石。高级检索运算符全解这是 Google Scholar 语法中信息密度最高的一节逐一定义并给出组合方法。author按作者查找author:LeCun author:Geoffrey Hinton author:Church synthetic biology变体与要点单姓写法author:Smith引号包裹全名author:Jane Smith作者 主题组合author:Doudna CRISPR注意作者姓名变体中间名缩写的有无、婚后改姓等都会影响命中建议带缩写/不带缩写各查一遍全名一定要加引号。intitle仅在标题内检索intitle:transformer intitle:attention mechanism intitle:review climate change适用场景寻找恰好以某主题为核心的论文比全文检索精确得多能大幅降低无关命中特别适合定位综述review与方法学method类文章——例如intitle:review climate change直接筛出标题含 review 的气候变化综述。source限定期刊或会议source:Nature source:Nature Communications source:NeurIPS source:Journal of Machine Learning Research应用跟踪顶刊动态、检索专科期刊、区分会议与期刊成果、核验某篇论文的真实发表载体。多词期刊名务必加引号。排除运算符-machine learning -survey CRISPR -patent climate change -news deep learning -tutorial -review常用排除组合-survey排除综述、-review排除评论/综述、-patent排除专利、-book排除书籍、-news排除新闻、-tutorial排除教程。这是只要方法学原文、不要二手综述时最高效的手段。OR 运算符machine learning OR deep learning CRISPR OR gene editing climate change OR global warming最佳实践OR必须大写小写会被当作普通词用它合并同义词、缩写与全称、美式与英式拼写常与精确短语搭配gene editing与genome editing一并收录。通配符*machine * learning CRISPR * editing * neural network通配符只匹配一个未知词位。需要明确Google Scholar 对通配符的支持有限远不如 PubMed 等专业数据库灵活别把它当正则表达式用。高级过滤与排序年份范围三种途径界面操作左侧栏点击 Since [year] 或自定义范围查询语句年份范围本身不能直接写进查询串第 164–167 行注释即为明证只能走界面或 URL 参数脚本参数由--year-start/--year-end提供在 search() 中逐条抓取后按pub_year过滤python skills/citation-management/scripts/search_google_scholar.py quantum computing \ --year-start 2020 \ --year-end 2024从源码看年份过滤是在抓取之后、入库之前完成的metadata[year]被强转int后与边界比较不符合的直接continue跳过解析失败时静默放行。排序选项按相关性默认由 Google 算法综合被引量、作者声望与发表载体决定适合大多数探索性检索按日期最新在前适合快速演进领域但可能漏掉高被引的经典老论文——界面点击 Sort by date 即可按被引量脚本以--sort-by citations实现抓取完成后对citations字段做降序排序python skills/citation-management/scripts/search_google_scholar.py transformers \ --sort-by citations \ --limit 50注意一个实现细节relevance的排序权在 Google 端而citations的排序发生在本地见 search() 中results.sort(...)分支因此后者需要先抓回足够多的结果才有意义建议把--limit调大如 100–500。语言过滤界面路径Settings → Languages选择偏好语言。默认只返回英文文献与带英文摘要的论文。跨语言研究如中文、日文文献需要在这里显式放开。面向目标的检索策略寻找开山之作seminal papers步骤用宽泛术语按主题检索按被引量排序最被引在前刻意寻找综述文章获取领域全貌对照发表日期区分奠基性工作与后续演进。示例generative adversarial networks # 按被引排序 # 前列应为原始 GAN 论文Goodfellow et al., 2014及关键变体结合 search_strategies.md 中的分类学可以用论文年龄 × 被引量快速给一篇论文定性0–3 年被引 100 为 Highly Influential7 年被引 1000 为 Foundational并优先引用 Tier-1 载体Nature/Science/Cell/NEJM 等的成果。追踪最新进展按主题检索收窄到最近 1–2 年按日期排序让最新在前长期跟踪则设置提醒Alerts。脚本化示例python skills/citation-management/scripts/search_google_scholar.py AlphaFold protein structure \ --year-start 2023 \ --year-end 2024 \ --limit 50定位综述文章intitle:review machine learning systematic review CRISPR intitle:survey natural language processing判定指标标题含 review/survey/perspective通常被引量很高发表在 Nature Reviews、Trends 系列等综述刊上参考文献列表完整详实。引文链式检索Citation Chain Search前向追踪找到奠基论文 → 点击 Cited by X → 查看所有引用它的论文 → 观察该领域的演进路径BERT/GPT/T5 如何从 Transformer 原文分化而来后向追踪取一篇最新综述或重要论文 → 读其参考文献 → 定位奠基性工作 → 追溯思想来源。完整示例工作流# 找到 Transformer 原文 Attention is all you need author:Vaswani # 点开 Cited by 120,000 # 观察演化BERT、GPT、T5 等 # 再读原文的参考文献 # 回溯 RNN、LSTM、attention 机制的源头系统性文献检索综合检索面向系统综述等要求不漏检的场景生成同义词表主术语 替代表达、缩写 全称、美式 vs 英式拼写optimization/optimisation用 OR 合并(machine learning OR deep learning OR neural networks)多个概念串接概念间默认 AND(machine learning OR deep learning) (drug discovery OR drug development)初始不加年份过滤先看全貌总量结果太多再逐年收窄批量导出供后续系统分析python skills/citation-management/scripts/search_google_scholar.py \ machine learning OR deep learning drug discovery \ --limit 500 \ --output comprehensive_search.json从结果页提取引文信息结果卡片包含的字段Google Scholar 每条结果展示标题可链接全文、作者常被截断、来源期刊/会议、年份、出版社、Cited by被引数与引文页链接、Related articles相似论文链接、All versions同一论文的不同版本。脚本侧对应字段即 search() 中映射的title / authors / venue / citations / url / eprint_url / year / abstract。导出方式对比手动导出点击论文下方 Cite → 选 BibTeX → 复制。局限一次一篇、纯手工、文献量大时不可行自动化导出# 搜索并直接导出 BibTeX python skills/citation-management/scripts/search_google_scholar.py quantum computing \ --limit 50 \ --format bibtex \ --output quantum_papers.bib元数据质量须知可稳定提取标题、作者可能不全、年份、来源、被引量、全文/PDF 链接。但要注意文档原文提示部分字段可能缺失、作者名可能不完整、Google Scholar 记录不携带 DOI 且 venue 为非结构化字符串——正因如此metadata_to_bibtex() 的方法文档明确指出由 Scholar 生成的书目条目只是起点必须经过元数据富化enrichment pass后才能引用。准确性核验应借助 CrossRef 等 DOI 权威源见本技能 metadata_extraction.md 与extract_metadata.py工作流。脚本自动导出 BibTeX 的底层实现理解 metadata_to_bibtex() 的行为才能正确使用导出的.bib作者连接Scholar 的 author 是列表先由search()以,连接再在导出时以and重新连接成 BibTeX 标准格式文献类型推断把 venue 小写后检查是否含proceedings/conference/symposium——命中则输出inproceedings并写booktitle字段否则输出article并写journal字段条目键生成调用 _common.py 的citation_key()按统一规则第一作者姓氏年份标题首个实义词生成ASCII 折叠、去除非字母数字字符标题保护经protect_title()用花括号包裹AlphaFold、CRISPR、DNA等需保留大小写的专有名词保护词表见 _common.py避免 BibTeX 样式处理扁平化被引量刻意不写入.bib源码注释说明它每周都在变写进参考文献会让文件写下的瞬间就过期因此被引量只保留在 JSON 输出里。正是因为所有产出脚本共享同一套 citation-key 方案见 _common.py 注释Every producer in this skill keys throughcitation_key同一篇论文无论来自 Scholar、PubMed、CrossRef 还是 OpenAlex 都会得到相同键format_bibtex.py与validate_citations.py才能跨来源做去重——这一点在测试 tests/citation-management/test_scripts.py 中被显式验证test_the_same_paper_from_two_sources_gets_the_same_key。限速规避与访问策略限速症状Google Scholar 会主动反自动化抓取典型信号出现 CAPTCHA 验证、临时 IP 封禁、HTTP 429 Too Many Requests。最佳实践请求间加延迟最低 2–5 秒控制查询总量不要短时间内连续提交数百条查询让scholarly库处理限速它内置了反封禁机制轮换 User-Agent模拟不同浏览器大型抓取考虑代理务必合规使用。仓库脚本的实际实现位于 search()每个结果抓取后执行# 每条结果间随机休眠避免被封 time.sleep(random.uniform(2, 5))即真实代码在 2–5 秒间随机取值SKILL.md 的 Phase 1 亦描述为 sleeps 2–5 s between results。此外main()还提供了--use-proxy开关内部通过scholarly的ProxyGenerator().FreeProxies()接入免费代理池。伦理红线应该尊重限速、使用合理延迟、缓存结果避免重复查询、优先使用官方 API、正确标注数据来源。禁止激进抓取、多 IP 绕过封禁、违反服务条款、无谓加重服务器负担、未经许可商用数据。机构访问Institutional Access走图书馆订阅可获取全文 PDF、更好的下载能力、与馆藏系统的集成及链接解析服务。配置路径Google Scholar → Settings →Library links→ 添加所在机构随后搜索结果中会出现机构全文链接。检索最佳实践清单查询优化先简后繁——文档明确反对一上来就叠加全部运算符# 过于激进的起点一次性叠满 intitle/source/年份 intitle:deep learning intitle:review source:Nature 2023..2024 # 更稳妥的路径 deep learning review # 审阅结果后再按需叠加 intitle:、source:、年份过滤多策略并用关键词检索、已知学者 author 检索、关键论文引文链、顶刊 source 检索检查拼写与变体color/colour、optimization/optimisation、tumor/tumour结果过少时再尝试常见错拼策略性组合author:Church intitle:synthetic biology 2015..2024 # 找某位作者近年在该主题上发表的综述/论文结果评估看被引量高被引通常意味着影响力大但新论文被引低也可能很重要且被引量在不同学科间不可直接横比核验发表载体区分同行评议期刊、预印本、会议论文、书章节与技术报告确认全文可得性看右侧 [PDF] 链接、看 All X versions 里是否有开放版本、尝试机构访问、或去作者主页/ResearchGate 检索优先综述新领域的绝佳起点参考列表即迷你文献地图。结果管理接入文献管理器导出 BibTeX → 导入 Zotero/Mendeley/EndNote → 建立有序文库设置提醒Google Scholar → Alerts用邮件持续跟踪匹配新查询的论文与特定作者动态建立合集存入 Google Scholar Library按项目/主题分组附加标签与笔记系统性落盘以便稍后重处理而不必重新检索# 先落盘 JSON python skills/citation-management/scripts/search_google_scholar.py your topic \ --output topic_papers.json # 之后离线做全量元数据补全CrossRef/PubMed 等 python skills/citation-management/scripts/extract_metadata.py \ --input topic_papers.json \ --output topic_refs.bib进阶技巧布尔逻辑组合# 特定作者在特定主题上的高被引综述 intitle:review machine learning (drug discovery OR drug development) author:Horvath OR author:Bengio 2020..2024 # 纯方法学论文剔除综述 intitle:method protein folding -review -survey # 只看三大顶刊的近期成果 (Nature OR Science OR Cell) CRISPR 2022..2024定位开放获取论文Scholar 检索页本身没有 OA 过滤器通常的做法是用通用词检索 → 借助 All versions 找预印本 → 留意绿色 [PDF] 链接多为 OA→ 在 arXiv/bioRxiv 版本中找免费副本。脚本侧更可控的做法是对 JSON 输出按eprint_url过滤——因为 search() 会在存在免费副本时填充eprint_urlpython skills/citation-management/scripts/search_google_scholar.py topic --output papers.json python -c import json;djson.load(open(papers.json));print(json.dumps([r for r in d[results] if r[eprint_url]],indent2)) open_access_papers.json若改用 OpenAlexOA 状态是结构化字段无需事后过滤——search_openalex.py 逐条写入is_open_accesspython skills/citation-management/scripts/search_openalex.py topic --output papers.json # 每条结果均含 is_open_access 字段追踪研究影响力针对某篇论文找到该文 → 点 Cited by X → 分析引用论文被如何使用、被哪些领域引用、近期引用还是早期引用为主针对某位学者author:LastName检索 → 查看其 h-index 与 i10-index → 看引文历史图 → 找出最具影响力的论文针对某个主题主题检索 → 按被引排序 → 高被引老论文即奠基工作近期高被引新论文即新兴重要工作。预印本与早期工作# arXiv 论文 source:arxiv deep learning # bioRxiv 论文 source:biorxiv CRISPR # 覆盖全部预印本服务器 (arxiv OR biorxiv OR medrxiv) your topic务必记住预印本未经同行评议引用前应确认是否存在已发表的正式版本。本技能 SKILL.md 把引用已发表版本、更新预印本条目列为常见陷阱之一。常见问题与排查结果过多10 万对策补充更具体的术语 → 用intitle:收窄到标题 → 过滤最近年份 → 加排除项如-review→ 限定期刊。结果过少0–10 条对策去掉过于苛刻的运算符 → 换同义词和相关词 → 检查拼写 → 放宽年份范围 → 用 OR 合并候选表达。结果不相关对策短语加引号做精确匹配 → 增加限定性上下文词 →intitle:只看标题 → 排除常见无关词 → 多个精确词叠加。CAPTCHA 或被封对策静置数分钟再继续 → 降低查询频率 → 脚本内加长延迟5–10 秒→ 更换 IP/网络 → 考虑机构访问通道。元数据缺失对策点进详情页 → 查看 All versions 是否有更完整的元数据 → 有 DOI 则按 DOI 核验 → 改用 CrossRef/PubMed 提取 → 最后从论文 PDF 手工核验。重复结果对策点 All X versions 查看合并视图 → 选用元数据最全的版本 → 在后期处理中去重本技能由 format_bibtex.py 完成python skills/citation-management/scripts/format_bibtex.py results.bib \ --deduplicate \ --output clean_results.bib与检索后流水线的完整衔接Google Scholar 检索本身只是 citation-management 五阶段流程的第一环。生产级做法是把它与后处理串联# 1) 检索并落盘 JSON python skills/citation-management/scripts/search_google_scholar.py topic \ --format json \ --output results.json # 2) 元数据富化Scholar 记录无 DOI、venue 非结构化需补全Phase 2.5 # 按 SKILL.md 的强制要求article 缺 volume/pages/doi 时必须用 # WebSearch/WebFetch 补齐后再进入格式化 # 3) 格式化、统一键名并跨来源去重 python skills/citation-management/scripts/format_bibtex.py results.bib \ --rekey \ --deduplicate \ --output clean.bib # 4) 校验必填字段与 DOI 可解析性 python skills/citation-management/scripts/validate_citations.py clean.bib \ --check-dois批量检索多主题将检索词逐行写入queries.txt逐个执行并在查询间留足延迟# queries.txt一行一个查询 while read query; do python skills/citation-management/scripts/search_google_scholar.py $query \ --limit 50 \ --output ${query// /_}.json sleep 10 # 查询间延迟降低触发限速的概率 done queries.txt小结Google Scholar 的核心价值可概括为全学科覆盖1 亿 文档、免费开放、被引追踪、多内容形态、全文检索。围绕它的正确用法是用精确短语与author:/intitle:/source:/-排除/OR/ 通配符组合出高精度查询按开山之作 → 最新进展 → 综述 → 引文链四类目标切换检索策略借助本仓库的 search_google_scholar.py 完成年份过滤、按被引排序与 JSON/BibTeX 批量导出牢记其无官方 API、强限速的特性善用 2–5 秒随机延迟、--use-proxy、代理与缓存策略并在大规模抓取时保持克制与合规对导出的记录执行元数据富化——Scholar 记录无 DOI、作者可能不全务必经 CrossRef/PubMed/OpenAlex 交叉核验后再写进正式参考文献。生物医学方向的检索务必用 pubmed_search.md 所讲的 PubMed/MeSH 作补充MeSH 受控词表与策展元数据能提供 Scholar 无法保证的精确性与规范性。多源互补、交叉核验、统一键名去重正是 scientific-agent-skills 中 citation-management 技能保障参考文献无偏见、无重复、无错误的方法论根基。想要系统掌握检索与写作全流程可进一步阅读同技能的 search_strategies.md、core_workflow.md 与 script_reference.md完整 CLI 参数速查见 script_reference.md。【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考