毎日論文のAbstractが送られてくるやつ
概要
色々な場所で話に聞く最新論文のアブストが毎日勝手に届くやつを今更作りました.
arxivのAPIで論文を取ってきて機械翻訳してwebhookでIFTTTに投げてIFTTTを経由してLINEとSlackに通知するみたいな仕組みです.送信済み論文リストを毎回ファイルに読み書きして管理します.
IFTTTあたりはおおむねこの記事を参考にしました.
変更点
arxivのPython用APIで論文を取ってくる部分を作る→通知方法をぐぐって参考記事にたどり着く,という流れだったので論文取得部分はちょっと違うと思います.他にLINEだと長すぎると(?)テキストが省略されてしまうみたいな問題点があって直せないというか原因が分からないのでLINEとSlackに通知が行くようにしました.
定期実行
1日に一回自動で実行して毎日勝手に送られてくるみたいな仕組みを目的にしているのでなんらかの手段で定期実行させる必要があります.一番簡単なのは24時間付けっ放しのPCで動かすことで,研究室のマシンで動かそうかと3回くらい考えました.
とりあえずherokuを考えましたがファイルの書き出しができず(しばらく経つと消される),データベースを使えば解決されるようですが面倒でやめました.代わりにAWS LambdaとS3で動かすことにしました.
Lambdaで定期実行
この記事を参考にしました.
Lambdaで実行した関数からS3にアクセスしてpickleファイルの読み書きをする必要があり,そのために権限をうまいことやっていく必要があります.公式の通りにやれば良いです.
おわりに
AWSにちょっと詳しくなれました.
参考に倣って日本語訳を付けましたが正直翻訳の精度が良くないので英語読んだ方が分かりやすいみたいな感じでした.
参考
PythonでarXiv APIを使って論文情報取得、PDFダウンロード | note.nkmk.me
自動でArxivから論文を取得して、日本語に直してLineに投稿すれば、受動的に最新情報が収集できるかも!? - Qiita
【AWS】lambdaファンクションを定期的に実行する - Qiita
Lambda 実行ロールのアクセス権を Amazon S3 バケットへ付与する
S3のアクセスコントロールまとめ - Qiita