作为科研人,每天早起的第一件事,
就是打开 arXiv 查找自己 follow 的领域有没有最新的文章。
现在我想把这件事自动化:
类似部署自动打卡函数,在阿里云函数计算 FC 中设置一个带有定时触发器的云函数,
再将每天定点向微信推送 arXiv 最新文章的脚本程序部署上去,
实现:
- 根据关键词搜索在 arXiv 发布的文章;
- 判断文章的发布日期是否是前一天(或指定日期),如果是,则保留;
- 使用 Server 酱将前一天文章的标题、网址、摘要推送至微信。
效果展示:
这里我为了展示效果,将条件“前一天发布”改为了特定条件“2023 年 4 月 12 日发布”。
使用 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': 。
我们需要使用到Server 酱,这是一款从服务器、路由器等设备上推消息到手机的工具。我们需要使用她实现向微信推送消息的功能。
- 打开官网网址:https://sct.ftqq.com/;
- 微信扫码登陆后,进入 Key&API 模块;
- 将 SendKey 复制替换代码中的 Your-Server-API。
函数计算(Function Compute)是一个事件驱动的全托管 Serverless 计算服务,无需管理服务器等基础设施,只需编写代码并上传,函数计算会准备好计算资源,并以弹性、可靠的方式运行代码。
-
打开官网网址:国内唯一入选Forrester领导者象限,登陆后,进入管理控制台;
-
填写函数名称;
-
将上面给出的脚本代码保存为 index.py 放入一个名为 arxiv_push_code 的空文件夹中;
-
压缩该文件夹,将压缩包拖至代码包处;
-
将 arxiv_push_code 文件夹中的 index.py 拖至上级文件夹 CODE 处;
-
在弹窗中填写相关内容,其中“指定时间”就是在设置每天几点向微信推送文章;
-
点击测试函数,可以直接运行。