arXiv Master Search

# arXiv 检索与分析 Skill

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "arXiv Master Search" with this command: npx skills add PeterKouss/arxiv-master-search

arXiv 检索与分析 Skill

概述

本 skill 提供强大的 arXiv 学术论文检索、下载和分析功能,帮助智能体高效进行学术文献调研。支持关键词检索、作者检索、日期范围过滤、分类筛选等多种检索方式,并提供批量下载、元数据提取、论文总结等功能。

所有配置均通过命令行参数传入,无需配置文件。可选参数均有合理默认值。

目录结构

arxiv-search-skill/
├── skill.md                    # 本文件 - 使用说明与规范
├── README.md                   # 快速入门指南
├── requirements.txt            # Python 依赖
├── arxiv_search.py             # 统一入口(可选)
├── scripts/
│   ├── __init__.py
│   ├── utils.py                # 工具函数
│   ├── search.py               # 检索模块
│   ├── download.py             # 下载模块
│   ├── metadata.py             # 元数据处理模块
│   ├── batch_search.py         # 批量检索模块
│   └── summarize.py            # 论文总结模块
├── output/                     # 输出目录
│   ├── pdfs/                   # 下载的 PDF 文件
│   ├── metadata/               # 元数据 JSON 文件
│   └── summaries/              # 生成的摘要文件
└── examples/                   # 使用示例
    ├── example_queries.jsonl
    └── ids.txt

安装与配置

1. 安装依赖

pip install -r requirements.txt

2. 切换到 scripts 目录

所有脚本在 scripts/ 目录下运行:

cd scripts

核心功能


1. 检索模块 (search.py)

功能

在 arXiv 中按关键词、标题、摘要、作者、分类等检索论文,支持日期范围过滤。

使用方法

python search.py --query "quantum computing" --max-results 50

命令行参数

检索条件 (至少提供一个)

参数简写说明必需
--query-q通用查询字符串
--title-t标题关键词
--abstract-a摘要关键词
--author-au作者名
--category-carXiv 分类 (如 cs.AI, quant-ph)

日期过滤 (可选)

参数简写说明默认值
--start-date-s起始日期 (YYYY-MM-DD)-
--end-date-e结束日期 (YYYY-MM-DD)-

检索控制 (可选)

参数说明默认值
--max-results最大结果数100
--sort-by排序方式: relevance, lastUpdatedDate, submittedDaterelevance
--sort-order排序顺序: descending, ascendingdescending
--timeout请求超时秒数30
--retry-attempts重试次数3

速率限制 (可选)

参数说明默认值
--requests-per-second每秒最大请求数2.0
--min-delay请求间最小延迟秒数0.5

输入输出

参数简写说明
--id-list-从文件读取 arXiv ID 列表进行检索
--output-o输出元数据 JSON 文件路径

日志 (可选)

参数说明默认值
--log-level日志级别: DEBUG, INFO, WARNING, ERRORINFO
--log-file日志文件路径-

高级查询语法

# 标题中包含关键词
python search.py --query "ti:quantum AND ti:computing"

# 摘要中包含关键词
python search.py --query "abs:machine AND abs:learning"

# 组合条件
python search.py --query "cat:cs.AI AND (ti:neural OR abs:network)"

使用示例

# 基础关键词检索
python search.py --query "quantum computing" --max-results 50

# 标题检索
python search.py --title "transformer" --max-results 30

# 作者检索
python search.py --author "Smith, J" --max-results 100

# 分类检索
python search.py --category "cs.AI" --start-date "2023-01-01"

# 组合检索并保存结果
python search.py --query "deep learning" --category "cs.LG" --max-results 50 --output results.json

输出示例

{
  "search_metadata": {
    "query": "quantum computing",
    "original_query": {
      "query": "quantum computing",
      "title": null,
      "abstract": null,
      "author": null,
      "category": null,
      "start_date": null,
      "end_date": null
    },
    "timestamp": "2023-01-15T10:30:00Z",
    "returned_results": 50
  },
  "papers": [
    {
      "arxiv_id": "2301.01234",
      "arxiv_url": "https://arxiv.org/abs/2301.01234",
      "pdf_url": "https://arxiv.org/pdf/2301.01234.pdf",
      "title": "Quantum Computing for Machine Learning",
      "authors": [
        {"name": "John Smith"},
        {"name": "Alice Johnson"}
      ],
      "abstract": "We present a novel approach...",
      "categories": ["quant-ph", "cs.LG"],
      "primary_category": "quant-ph",
      "published_date": "2023-01-05",
      "updated_date": "2023-01-10",
      "doi": "10.1234/arxiv.2301.01234",
      "journal_ref": null,
      "comments": "15 pages, 5 figures"
    }
  ]
}

2. 下载模块 (download.py)

功能

下载单个或批量论文 PDF 文件。

使用方法

python download.py --id 2301.01234

命令行参数

输入源 (选择一个)

参数说明必需
--idarXiv ID(可多次指定)
--id-list包含 arXiv ID 列表的文本文件
--metadata包含论文元数据的 JSON 文件

输出选项 (可选)

参数简写说明默认值
--output-dir-o输出目录output/pdfs
--skip-existing-跳过已存在的文件默认启用
--no-skip-existing-覆盖已存在的文件-

下载控制 (可选)

参数说明默认值
--parallel并行下载数3
--chunk-size下载块大小字节8192
--verify-ssl验证 SSL 证书默认启用
--no-verify-ssl不验证 SSL 证书-

速率限制 (可选)

参数说明默认值
--requests-per-second每秒最大请求数2.0
--min-delay请求间最小延迟秒数0.5

日志 (可选)

参数说明默认值
--log-level日志级别: DEBUG, INFO, WARNING, ERRORINFO
--log-file日志文件路径-

使用示例

# 下载单个论文
python download.py --id 2301.01234

# 下载多个论文
python download.py --id 2301.01234 --id 2302.05678

# 从 ID 列表文件下载
python download.py --id-list ids.txt

# 从元数据文件下载
python download.py --metadata results.json

# 指定输出目录
python download.py --id 2301.01234 --output-dir my_papers/

# 强制覆盖已存在的文件
python download.py --id 2301.01234 --no-skip-existing

3. 元数据处理模块 (metadata.py)

功能

提取论文元数据,支持多种格式导出(JSON、BibTeX、CSV、RIS),以及合并多个元数据文件。

使用方法

python metadata.py --input results.json --format bibtex --output refs.bib

命令行参数

输入方式 (选择一个)

参数说明必需
--id单个 arXiv ID
--input-i输入元数据 JSON 文件
--merge合并多个元数据文件

输出选项

参数简写说明默认值
--format-f输出格式: json, bibtex, csv, risjson
--output-o输出文件路径-

日志 (可选)

参数说明默认值
--log-level日志级别: DEBUG, INFO, WARNING, ERRORINFO
--log-file日志文件路径-

使用示例

# 获取单个论文元数据
python metadata.py --id 2301.01234

# 从元数据文件导出 BibTeX
python metadata.py --input results.json --format bibtex --output refs.bib

# 导出 CSV
python metadata.py --input results.json --format csv --output papers.csv

# 导出 RIS
python metadata.py --input results.json --format ris --output papers.ris

# 合并多个元数据文件
python metadata.py --merge result1.json result2.json --output merged.json

输出格式

BibTeX 格式

@article{smith:2023:quantum,
  title = {Quantum Computing for Machine Learning},
  author = {Smith, John and Johnson, Alice},
  year = {2023},
  month = {01},
  journal = {arXiv preprint 2301.01234},
  eprint = {2301.01234},
  archivePrefix = {arXiv},
  primaryClass = {quant-ph},
  url = {https://arxiv.org/abs/2301.01234},
  abstract = {We present a novel approach...}
}

4. 批量检索模块 (batch_search.py)

功能

从 JSONL 文件批量执行多个检索任务。

使用方法

python batch_search.py --input queries.jsonl --output batch_results/

命令行参数

输入 (必需)

参数简写说明
--input-i输入 JSONL 文件路径

输出 (可选)

参数简写说明默认值
--output-o输出目录output/metadata
--no-individual-不保存单独的查询结果-

检索控制 (可选)

参数说明默认值
--timeout请求超时秒数30
--retry-attempts重试次数3
--requests-per-second每秒最大请求数2.0
--min-delay请求间最小延迟秒数0.5

日志 (可选)

参数说明默认值
--log-level日志级别: DEBUG, INFO, WARNING, ERRORINFO
--log-file日志文件路径-

输入文件格式 (JSONL)

{"query": "deep learning", "max_results": 50}
{"query": "transformer architecture", "category": "cs.CL", "max_results": 30, "name": "transformer_2023"}
{"author": "Bengio, Y", "max_results": 100, "name": "bengio_papers"}
{"category": "cs.AI", "start_date": "2023-01-01", "max_results": 50}

JSONL 每行一个查询对象,支持的字段:

  • query / q: 通用查询
  • title / t: 标题关键词
  • abstract / a: 摘要关键词
  • author / au: 作者名
  • category / c / categories: 分类
  • start_date / start-date / s: 起始日期
  • end_date / end-date / e: 结束日期
  • max_results / max-results / m: 最大结果数
  • sort_by / sort-by: 排序方式
  • sort_order / sort-order: 排序顺序
  • name: 查询名称(用于输出文件名)

使用示例

# 从 JSONL 文件运行批量检索
python batch_search.py --input queries.jsonl

# 指定输出目录
python batch_search.py --input queries.jsonl --output batch_results/

# 不保存单独查询结果,只保存合并文件
python batch_search.py --input queries.jsonl --no-individual

5. 论文总结模块 (summarize.py)

功能

生成论文摘要和关键点总结,以及文献综述概览。

使用方法

python summarize.py --metadata results.json --overview --topic "deep learning"

命令行参数

输入方式 (选择一个)

参数说明必需
--id单个 arXiv ID
--metadata包含论文元数据的 JSON 文件

输出选项 (可选)

参数简写说明默认值
--output-o输出文件路径-
--output-dir-输出目录(用于批量模式)output/summaries

功能选项 (可选)

参数说明
--overview生成文献综述概览
--topic研究主题(用于综述)

日志 (可选)

参数说明默认值
--log-level日志级别: DEBUG, INFO, WARNING, ERRORINFO
--log-file日志文件路径-

总结内容

单篇论文总结包括:

  • 标题、作者、发表日期
  • 分类、URL
  • 短摘要(前 500 字符)
  • 关键点:
    • 方法关键词
    • 任务关键词
    • 问题陈述
    • 贡献点

文献综述包括:

  • 论文集合统计
  • 分类分布
  • 年份分布
  • 方法和任务统计
  • 关键洞察

使用示例

# 总结单篇论文
python summarize.py --id 2301.01234

# 从元数据文件批量生成总结
python summarize.py --metadata results.json

# 生成文献综述
python summarize.py --metadata results.json --overview --topic "deep learning" --output overview.json

常见 arXiv 分类

分类说明
cs.AIArtificial Intelligence
cs.CLComputation and Language
cs.CVComputer Vision and Pattern Recognition
cs.LGMachine Learning
cs.NENeural and Evolutionary Computing
cs.RORobotics
quant-phQuantum Physics
stat.MLMachine Learning (Statistics)
math.OCOptimization and Control
physics.data-anData Analysis, Statistics and Probability

API 使用示例 (Python 模块)

基础检索

from search import ArxivSearch

searcher = ArxivSearch()

# 简单关键词检索
results = searcher.search(
    query="transformer architecture",
    max_results=20,
    sort_by="submittedDate"
)

# 高级检索
results = searcher.search(
    query="cat:cs.CL AND abs:transformer",
    start_date="2023-01-01",
    end_date="2023-12-31",
    max_results=50
)

批量下载

from download import PaperDownloader

downloader = PaperDownloader(output_dir="output/pdfs")

# 下载单个论文
downloader.download_by_id("2301.01234")

# 批量下载
arxiv_ids = ["2301.01234", "2302.05678", "2303.09012"]
papers = [{"arxiv_id": id} for id in arxiv_ids]
downloader.download_batch(papers, skip_existing=True)

元数据处理

from metadata import MetadataExtractor

extractor = MetadataExtractor()

# 获取元数据
metadata = extractor.get_metadata("2301.01234")

# 导出为 BibTeX
papers = [metadata]
extractor.export_bibtex(papers, "references.bib")

完整工作流示例

# 1. 定义检索查询列表
cat > my_queries.jsonl << EOF
{"query": "large language model", "max_results": 50, "name": "llm"}
{"query": "chain-of-thought reasoning", "max_results": 30, "name": "cot"}
{"category": "cs.CL", "max_results": 100, "start_date": "2023-01-01", "name": "cl_2023"}
EOF

# 2. 执行批量检索
python batch_search.py --input my_queries.jsonl --output my_results/

# 3. 下载相关论文
python download.py --metadata my_results/merged_metadata.json --output-dir my_pdfs/

# 4. 生成文献综述
python summarize.py --metadata my_results/merged_metadata.json --overview --topic "LLMs" --output llm_overview.json

# 5. 导出 BibTeX
python metadata.py --input my_results/merged_metadata.json --format bibtex --output references.bib

输出规范

元数据 JSON 格式规范

见 search.py 输出示例。

错误处理规范

所有脚本遵循以下错误码规范:

错误码含义
0成功
1通用错误
2参数错误
3网络错误
4文件IO错误
5API 限流

日志规范

[INFO] 2023-01-15 10:30:00 - Starting search for query: "quantum computing"
[INFO] 2023-01-15 10:30:02 - Found 1500 results, returning first 50
[WARNING] 2023-01-15 10:30:03 - Rate limit approaching, slowing down
[ERROR] 2023-01-15 10:30:05 - Failed to download 2301.01234: Connection timeout

高级技巧

1. 检索优化

  • 使用引号进行精确匹配: "graph neural network"
  • 使用通配符: transformer*
  • 使用布尔运算符: AND, OR, ANDNOT
  • 字段限定: ti:, abs:, au:, cat:

2. 分类组合

# 多个分类
python search.py --query "cat:cs.AI OR cat:cs.LG"

# 排除分类
python search.py --query "cat:cs.* ANDNOT cat:cs.RO"

3. 时间范围检索

# 最近一个月 (Linux/Mac)
python search.py --query "deep learning" --start-date "$(date -d '1 month ago' +%Y-%m-%d)"

# 特定年份
python search.py --query "transformer" --start-date "2023-01-01" --end-date "2023-12-31"

常见问题

Q: 如何提高检索速度?

A: 使用 --max-results 限制返回数量,使用分类过滤减少结果集。

Q: 遇到 rate limit 怎么办?

A: 脚本会自动处理限流。可通过 --requests-per-second--min-delay 调整速率限制参数。

Q: 下载的 PDF 文件名格式是什么?

A: 默认格式: {arxiv_id}_{title_slug}.pdf,例如: 2301.01234_quantum-computing-for-machine-learning.pdf

Q: 所有参数都有默认值吗?

A: 是的,所有可选参数都有合理的默认值。只需提供必需参数(如检索条件、输入源等)即可。


更新日志

v1.1.0

  • 移除配置文件,所有配置改为命令行参数
  • 所有可选参数添加默认值
  • 更新文档,添加完整参数说明

v1.0.0

  • 初始版本发布
  • 支持基础检索、下载、元数据提取
  • 支持批量操作

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

M3U8 Downloader

Download encrypted m3u8/HLS videos using parallel downloads. Use when given an m3u8 URL to download a video, especially encrypted HLS streams with AES-128.

Registry SourceRecently Updated
General

Data Analyst Cn

数据分析助手 - 数据清洗、统计分析、可视化建议。适合:数据分析师、产品经理、运营。

Registry SourceRecently Updated
General

QuantumOS

Install and manage QuantumOS, an AI command center dashboard for OpenClaw. Use when the user wants to set up QuantumOS, start/stop the dashboard, troubleshoo...

Registry SourceRecently Updated