Install
openclaw skills install google-scholar-api通过 SerpAPI 实现 Google Scholar 学术论文检索和下载。使用场景包括:1) 通过关键词搜索学术论文,2) 获取论文详细信息(标题、作者、摘要、年份、引用次数),3) 下载可用的 PDF 文件,4) 批量检索相关文献,5) 按年份、引用数等条件筛选论文。需要 SerpAPI 密钥(可从 ser...
openclaw skills install google-scholar-api本技能提供通过 SerpAPI 访问 Google Scholar 的功能,实现学术论文的智能检索和下载。包含完整的 Python 脚本、配置示例和使用指南。
pip install google-search-results requests
export SERP_API_KEY="your_serpapi_key_here"
from scripts.google_scholar_search import GoogleScholarSearch
# 初始化客户端
client = GoogleScholarSearch()
# 搜索论文
results = client.search("machine learning", num_results=5)
papers = client.parse_results(results)
for paper in papers:
print(f"标题: {paper['title']}")
print(f"作者: {paper['authors']}")
print(f"年份: {paper['year']}")
if 'pdf_link' in paper:
print(f"PDF 可用: {paper['pdf_link']}")
author:"姓名")、来源搜索 (source:"期刊")as_ylo, as_yhi)cites 参数)cluster 参数)hl 参数)as_rr 参数)# 基础搜索
client.search("deep learning", num_results=10)
# 高级搜索(带过滤)
client.search(
query="transformer",
year_from=2020,
year_to=2024,
sort_by="date"
)
# 解析结果
papers = client.parse_results(search_data)
# 检查 PDF 可用性
for paper in papers:
if 'pdf_link' in paper:
print(f"可下载: {paper['title']}")
# 单个文件下载
client.download_pdf(pdf_url, "paper.pdf")
# 批量搜索和下载
result = client.search_and_download(
query="reinforcement learning",
download_dir="./papers",
max_papers=5
)
# 搜索某个主题的最新论文
client = GoogleScholarSearch()
results = client.search("quantum machine learning", num_results=15, sort_by="date")
papers = client.parse_results(results)
print(f"找到 {len(papers)} 篇相关论文")
for i, paper in enumerate(papers[:5]):
print(f"{i+1}. {paper['title']} ({paper['year']}) - {paper['cited_by']} 次引用")
# 下载 2020-2023 年的论文
result = client.search_and_download(
query="computer vision",
download_dir="./cv_papers",
max_papers=10,
year_from=2020,
year_to=2023
)
print(f"成功下载 {result['successful_downloads']} 篇论文")
# 直接运行脚本
python scripts/google_scholar_search.py "artificial intelligence" --num 10 --output ./ai_papers
num 参数)start 参数(0, 10, 20...)async 参数)q: 搜索查询(支持 author:, source: 语法)num: 每页结果数(1-20,默认10)start: 分页起始位置(0, 10, 20...)as_ylo/as_yhi: 年份范围过滤scisbd: 排序方式(0=相关性, 1=日期仅摘要, 2=日期全部)hl: 语言代码(en, zh-CN, ja 等)as_vis: 是否包含引用(0=包含, 1=排除)as_rr: 是否仅显示综述文章(0=全部, 1=仅综述)cites: 搜索引用特定文章的文献cluster: 搜索文章的所有版本download_dir: 下载目录(默认 "./downloads")import logging
logging.basicConfig(level=logging.DEBUG)
try:
results = client.search("test query")
except Exception as e:
print(f"错误详情: {e}")
# 检查环境变量
print(f"API Key: {os.getenv('SERP_API_KEY')}")
包含可执行的 Python 脚本:
google_scholar_search.py - 核心搜索和下载脚本
GoogleScholarSearchconfig_example.py - 配置和使用示例
requirements.txt - 依赖包列表
google-search-results: SerpAPI Python 客户端requests: HTTP 请求库包含详细参考文档:
google-scholar-api/
├── SKILL.md (本文件)
├── scripts/
│ ├── google_scholar_search.py (核心脚本)
│ ├── config_example.py (配置示例)
│ └── requirements.txt (依赖列表)
└── references/
└── api_guide.md (API 指南)
当用户请求搜索学术论文时:
SERP_API_KEY 环境变量scripts/google_scholar_search.py 执行搜索## 搜索结果:机器学习
找到 15 篇相关论文,其中 8 篇有 PDF 可用:
1. **Attention Is All You Need** (2017)
- 作者:Vaswani et al.
- 引用:125,000+
- PDF: ✅ 可用
- 下载:`python scripts/google_scholar_search.py "Attention Is All You Need"`
2. **Deep Residual Learning for Image Recognition** (2015)
- 作者:He et al.
- 引用:85,000+
- PDF: ✅ 可用
- 下载:`python scripts/google_scholar_search.py "Deep Residual Learning"`
...
如需更多功能,可考虑:
技能维护: 定期检查 SerpAPI 的 API 变化,更新脚本以保持兼容性。