SuperAPI AI 工具集

biorxiv-database

写作与研究

查看项目

更新于 10-16 04:03

技能介绍

用途

该技能为 bioRxiv 预印本服务器提供基于 Python 的检索工具,用于搜索和获取生命科学领域的预印本。适用于检索特定研究领域的最新预印本、追踪特定作者的发表记录、开展系统性文献综述、分析一段时间内的研究趋势、获取用于引文管理的元数据、下载预印本 PDF 用于分析,以及按 bioRxiv 学科分类筛选论文。

主要能力

关键词检索

在标题、摘要或作者列表中检索包含特定关键词的预印本。默认在标题和摘要中检索关键词,可通过 --search-fields 自定义检索字段。

python scripts/biorxiv_search.py \
  --keywords "CRISPR" "gene editing" \
  --start-date 2024-01-01 \
  --end-date 2024-12-31 \
  --output results.json

带分类筛选:

python scripts/biorxiv_search.py \
  --keywords "neural networks" "deep learning" \
  --days-back 180 \
  --category neuroscience \
  --output recent_neuroscience.json

作者检索

查找某位作者在指定日期范围内的所有论文。若未指定日期,默认检索最近一年。

python scripts/biorxiv_search.py \
  --author "Smith" \
  --start-date 2023-01-01 \
  --end-date 2024-12-31 \
  --output smith_papers.json

日期范围检索

获取特定日期范围内发布的所有预印本,也可使用 --days-back 快捷方式指定最近若干天。

python scripts/biorxiv_search.py \
  --days-back 30 \
  --output last_month.json

按 DOI 获取论文详情

检索特定预印本的详细元数据,支持完整的 DOI URL。

python scripts/biorxiv_search.py \
  --doi "10.1101/2024.01.15.123456" \
  --output paper_details.json

PDF 下载

下载任意预印本的全文 PDF。

python scripts/biorxiv_search.py \
  --doi "10.1101/2024.01.15.123456" \
  --download-pdf paper.pdf

批量处理时,可从检索结果 JSON 中提取 DOI 并逐个下载:

import json
from biorxiv_search import BioRxivSearcher

with open('results.json') as f:
    data = json.load(f)

searcher = BioRxivSearcher(verbose=True)

for i, paper in enumerate(data['results'][:10]):
    doi = paper['doi']
    searcher.download_pdf(doi, f"papers/paper_{i+1}.pdf")

有效分类

可按以下 bioRxiv 学科分类筛选检索:animal-behavior-and-cognition、biochemistry、bioengineering、bioinformatics、biophysics、cancer-biology、cell-biology、clinical-trials、developmental-biology、ecology、epidemiology、evolutionary-biology、genetics、genomics、immunology、microbiology、molecular-biology、neuroscience、paleontology、pathology、pharmacology-and-toxicology、physiology、plant-biology、scientific-communication-and-education、synthetic-biology、systems-biology、zoology。

输出格式

所有检索返回结构化 JSON,包含 query(检索条件)、result_count(结果数量)和 results(结果列表)三个部分。每条结果包含 doi、title、authors、author_corresponding、author_corresponding_institution、date、version、type、license、category、abstract、pdf_url、html_url、jatsxml、published 等字段。

使用方式

文献综述工作流

先进行宽泛的关键词检索并输出 JSON,读取结果查看论文数量与基本信息,再针对选定的 DOI 下载论文。

趋势分析

按时间跨度检索某一关键词(如 machine learning)在特定分类(如 bioinformatics)下的论文,随后分析结果的时间分布。

作者追踪

对多位作者分别执行作者检索,输出各自的论文 JSON。

Python API 用法

可直接导入 BioRxivSearcher 类进行更复杂的工作流:

from scripts.biorxiv_search import BioRxivSearcher

searcher = BioRxivSearcher(verbose=True)

keywords_papers = searcher.search_by_keywords(
    keywords=["CRISPR", "gene editing"],
    start_date="2024-01-01",
    end_date="2024-12-31",
    category="genomics"
)

author_papers = searcher.search_by_author(
    author_name="Smith",
    start_date="2023-01-01",
    end_date="2024-12-31"
)

paper = searcher.get_paper_details("10.1101/2024.01.15.123456")

success = searcher.download_pdf(
    doi="10.1101/2024.01.15.123456",
    output_path="paper.pdf"
)

formatted = searcher.format_result(paper, include_abstract=True)

结果限制与摘要排除

可通过 --limit 限制返回结果数量;在 Python API 中可通过 include_abstract=False 在仅需元数据时排除摘要以提升速度。

与下游分析集成

检索结果 JSON 可转换为 pandas DataFrame 进行分析,例如统计论文数量、日期范围、按作者计数并导出 CSV。

最佳实践

  • 使用合适的日期范围:范围越小返回越快;长时间跨度的关键词检索可拆分为多次查询。
  • 尽量使用 --category 过滤,以减少数据传输并提升检索精度。
  • 注意速率限制:脚本已内置请求间隔(0.5 秒);大规模数据采集时应额外增加延迟。
  • 缓存结果:将检索结果保存为 JSON 文件,避免重复调用 API。
  • 版本追踪:预印本可能有多个版本,version 字段指示返回的版本,PDF URL 包含版本号。
  • 优雅处理错误:检查输出 JSON 中的 result_count,空结果可能意味着日期范围问题或 API 连接问题。
  • 调试时使用 --verbose 查看 API 请求与响应的详细日志。

测试

先安装依赖:

uv pip install requests

运行测试:

python tests/test_biorxiv_search.py

测试套件验证初始化、日期范围检索、分类筛选、关键词检索、DOI 查询、结果格式化、区间检索等功能。

参考文档

详细 API 规范、端点文档和响应模式见 references/api_reference.md,包含完整 API 端点规范、响应格式细节、错误处理模式、速率限制指南和高级检索模式。

限制

资料未提供该技能的具体平台支持范围、性能上限或收费信息。部分测试在特定日期范围或分类下未找到论文时会显示警告,属正常现象,不代表失败。