arxiv_download.py

#!/usr/bin/env python3
import arxiv
import argparse
import os

def main():
    parser = argparse.ArgumentParser(description="Download arXiv paper PDF")
    parser.add_argument("paper_id", help="Paper ID (e.g., 2301.00001)")
    parser.add_argument("--output-dir", default=".", help="Output directory")
    args = parser.parse_args()

    # 确保输出目录存在
    os.makedirs(args.output_dir, exist_ok=True)

    # 下载论文
    search = arxiv.Search(id_list=[args.paper_id])
    result = next(search.results())
    result.download_pdf(dirpath=args.output_dir)

    print(f"Downloaded paper to {os.path.join(args.output_dir, f'{result.get_short_id()}.pdf')}")

if __name__ == "__main__":
    main()