使用 arXiv API 和 Github Actions 实现自动获取 arXiv 论文摘要

作者:渣渣辉2024.02.18 20:55浏览量:20

简介:通过结合 arXiv API 和 Github Actions,你可以轻松地设置一个自动化流程,每天自动获取最新的 arXiv 论文摘要。本文将详细介绍如何实现这一过程,并为你提供可操作的步骤和代码示例。

一、arXiv API简介

arXiv是一个公开的论文库,涵盖了众多学科领域,包括物理、数学、计算机科学等。通过访问arXiv API,我们可以获取到论文库中的最新论文信息。

二、Github Actions简介

Github Actions是Github推出的一个持续集成/持续部署(CI/CD)服务,允许你在Github项目中创建自动化流程。通过结合API和Actions,我们可以轻松实现自动化的数据获取和整理。

三、实现过程

  1. 在Github项目中创建一个新的Actions流程文件(.github/workflows)。
  2. 在该文件中,添加以下代码以定义自动化流程:
    ```yaml
    name: arXiv API Fetcher
    on:
    schedule:
    • cron: “0 0 *”
      jobs:
      fetch_papers:
      name: Fetch arXiv Papers
      runs-on: ubuntu-latest
      steps:
      • name: Checkout repository
        uses: actions/checkout@v2
      • name: Set up Python environment
        uses: actions/setup-python@v2
        with:
        python-version: “3.x”
      • name: Install dependencies
        run: pip install requests
      • name: Fetch arXiv papers
        run: |
        python fetch_papers.py
        ```这段代码定义了一个名为”arXiv API Fetcher”的自动化流程,每天凌晨1点运行一次。该流程包含一个名为”Fetch arXiv Papers”的工作,用于执行获取arXiv论文的脚本。
  3. 在同一目录下创建一个Python脚本文件(fetch_papers.py),并添加以下代码:
    ```python
    import requests
    import json
    import datetime

def fetch_papers():

  1. # 定义获取论文的URL和参数
  2. url = "https://export.arxiv.org/api/query?sortBy=submittedDate&sortOrder=descending&maxResults=100"
  3. response = requests.get(url)
  4. data = response.json() # 将返回的JSON数据解析为Python字典或列表
  5. # 处理获取到的论文数据,这里可以根据你的需求进行相应的处理,例如保存到数据库或本地文件中。
  6. # 下面是一个简单的示例,将每篇论文的标题和摘要保存到本地文件中:
  7. with open('papers.txt', 'a') as f:
  8. for paper in data['results']:
  9. title = paper['title'][0]['value']
  10. summary = paper['summary'][0]['value']
  11. f.write(f'Title: {title}

Summary: {summary}

‘)
if name == ‘main‘:
fetch_papers()
``这段Python脚本用于执行获取arXiv论文的操作。它首先定义了获取论文的URL和参数,然后发送GET请求获取数据,并将返回的JSON数据解析为Python字典或列表。接下来,你可以根据需要对获取到的论文数据进行处理,例如保存到数据库或本地文件中。在示例中,我们将每篇论文的标题和摘要保存到一个名为"papers.txt"的本地文件中。最后,在脚本的末尾,我们定义了一个名为fetch_papers`的函数,并在脚本运行时调用它来执行获取论文的操作。

  1. 提交代码并启动自动化流程。在Github中提交你的代码更改,并运行自动化流程。你可以在Github Actions界面中查看运行结果和日志输出。一旦流程运行成功,你将在本地文件系统中看到一个名为”papers.txt”的文件,其中包含了最新的arXiv论文标题和摘要。你可以根据需要进一步处理这些数据。
    注意事项:在使用arXiv API时,请确保遵守相关的使用条款和规定。此外,由于网络请求和文件操作的性能限制,这种方法可能不适用于大规模的数据获取和存储。在处理大量数据时,你可能需要考虑使用更高效的数据处理方法和存储方案。