/push-arXiv-paper

每天定点向微信推送 arXiv 最新文章

Primary LanguagePython

pushArXivPaper

每天定点向微信推送 arXiv 最新文章

作为科研人,每天早起的第一件事,

就是打开 arXiv 查找自己 follow 的领域有没有最新的文章。

现在我想把这件事自动化:

类似部署自动打卡函数,在阿里云函数计算 FC 中设置一个带有定时触发器的云函数,

再将每天定点向微信推送 arXiv 最新文章的脚本程序部署上去,

实现:

  • 根据关键词搜索在 arXiv 发布的文章;
  • 判断文章的发布日期是否是前一天(或指定日期),如果是,则保留;
  • 使用 Server 酱将前一天文章的标题、网址、摘要推送至微信。

效果展示:

image

这里我为了展示效果,将条件“前一天发布”改为了特定条件“2023 年 4 月 12 日发布”。

image


使用 gpt3.5 识别论文的作者单位,如果不需要的话,可以注释掉相关代码。

其中,handler 函数中的 SERVERCHAN_API_KEY、search_term 、max_results 是根据需求修改的变量。

  • SERVERCHAN_API_KEY:自己 Serve 酱的 API(下方会解释)。
  • search_term:搜索论文的关键词,如果使用双引号将词包裹起来,表明论文中必须出现这个词,例如,'Masked Image Model' 和 '"Masked Image Model"' 搜索结果不同,具体请查看 arxiv 的文献检索说明。
  • max_results:检索论文的最大数量。 如果想直接本地运行,则可以将 def handler(event, context): 改为 if name == 'main': 。

1. Server 酱

我们需要使用到Server 酱,这是一款从服务器、路由器等设备上推消息到手机的工具。我们需要使用她实现向微信推送消息的功能。

  • 打开官网网址:https://sct.ftqq.com/
  • 微信扫码登陆后,进入 Key&API 模块;
  • 将 SendKey 复制替换代码中的 Your-Server-API。 image

2. 阿里云函数计算 FC

函数计算(Function Compute)是一个事件驱动的全托管 Serverless 计算服务,无需管理服务器等基础设施,只需编写代码并上传,函数计算会准备好计算资源,并以弹性、可靠的方式运行代码。

  • 打开官网网址:国内唯一入选Forrester领导者象限,登陆后,进入管理控制台;

  • 进入服务及函数模块,点击创建服务按钮; image

  • 将弹窗中的名称和描述填完后,点击左下角确定按钮; image

  • 进入函数管理模块,点击创建函数按钮; image

  • 填写函数名称;

  • 将上面给出的脚本代码保存为 index.py 放入一个名为 arxiv_push_code 的空文件夹中;

  • 压缩该文件夹,将压缩包拖至代码包处;

  • 点击页面下方创建按钮; image

  • 将 arxiv_push_code 文件夹中的 index.py 拖至上级文件夹 CODE 处;

  • 将 arxiv_push_code 文件夹删除; image

  • 进入触发器管理模块,点击创建触发器按钮; image

  • 在弹窗中填写相关内容,其中“指定时间”就是在设置每天几点向微信推送文章;

  • 填写完后点击左下方确定按钮,完成触发器创建; image

  • 回到函数代码页面,点击部署代码按钮,出现部署成功提示后,表示部署成功; image

  • 点击测试函数,可以直接运行。