「【python】arXivから論文を取得してLINEで手軽に見たい」で、arXivのAPIを使って論文を取ってきて和訳を行いました。
今回は和訳した論文をLINEに送りたいと思います。
IFTTT
論文をLINEに送るときに使うツールですが

にならい、IFTTTを使っていきたいと思います。
IFTTTとはTwitterやLINEなどのプラットフォームの仲介を担っているサービスのことです。
今回はIFTTTを使ってWebhookとLINEを仲介させます。
IFTTTを使っていく
IFTTTに登録する
こちらから新規登録しましょう。
createする
登録出来たら、まず上のメニューバーから「Create」を選択しましょう。

すると次のような画面が出てくるので「This」の横の+マークをクリック

Webhookをつなげる
すると検索欄が出てくるので「Webhook」と検索し、Webhookのマークがでてきたらクリック

つぎにこの画面になったら「Conect」をクリック

次に左側のボックスをクリック

次にこの画面になったらevent名(好きな名前でOK。ただしURLにもなるのでアルファベットの方がいいかも)を決め、「Create trigger」をクリック

LINEをつなげる
つぎはLINEをつなげます。「This」のよこの+マークをクリック

すると検索欄が出てくるので「LINE」と検索しマークが出てきたらクリック

「Conect」をクリック

次に左にブロックが出てくるのでクリック

論文を投稿するLINEグループを作る
ここで、自分のLINEのアクセス許可していいか聞かれるのでメールアドレスとパスワードを入れてアクセスします。
さらに「LINE Notify」が友達になるので、スマホで「LINE Notify」とグループを作ります。

パソコンに戻る
IFTTTに戻って「Recipient」に先ほど作ったグループ名をメッセージは下のような形で入力しましょう。

記入して次の画面に進むと下のようになるので「Finish」をします。

WebhookのAPIキーを取る
ここで終わりではありません…。でもあとちょっとなので頑張りましょう!!
次に上のメニューバーから「My services」を選びます。

「Webhooks」を選びます

右上の「Documentation」をクリック

すると次のような画面が出てきます。「Your key is:」の下にある英数字の羅列は後で使うのでメモしておきましょう。

コード
では、LINEに送信していきましょう。
送信するコードはこちらになります。
###################### #転送# ##################### from datetime import datetime import re import requests from googletrans import Translator from time import sleep import arxiv # webhook POST先URL API_URL = "https://maker.ifttt.com/trigger/event/with/key/your-key" # 検索ワード QUERY = "cat:'astro-ph.IM'" result_list = arxiv.query(query = QUERY,max_results=6,sort_by='submittedDate') translator = Translator() api_url = API_URL dt = datetime.now().strftime("%Y/%m/%d %H:%M:%S") requests.post(api_url, data={"value1": dt}) def translate_post(): title_jpn = translator.translate(title, src='en' ,dest='ja').text abst_jpn = translator.translate(abst, src='en' ,dest='ja').text print("-------"+str(count)+"ページ目-------") print("author:{}".format(author)) print(url) print("title:{}".format(title_jpn)) print("date:{}".format(date)) print("Abstract:{}".format(abst_jpn)) message = "\n".join(["<br>著者: " + author, "<br>;タイトル: " + title_jpn, "<br><br>URL: " + url, "<br><br>;発行日: " + date, "<br><br>概要: " + abst_jpn]) # webhookへPost response=requests.post(api_url, data={"value1": message}) sleep(5) count = 1 for result in result_list: author = result.author url = result.pdf_url title = result.title date = result.published abst = result.summary abst = abst.replace("\n","") translate_post() count += 1 print("Done")
変更するところは
API_URL = "https://maker.ifttt.com/trigger/event/with/key/your-key"
eventにはWebhookで自分で決めたevent名を入れて、your-keyには最後にDocumentationで確認した英数字の羅列を入れてください。
これを実行すると先ほど追加したLINEグループに和訳された論文が投稿されると思います。
また、投稿される論文の種類を変えたいときはコードが 「【python】arXivから論文を取得してLINEで手軽に見たい」 のものと同じなので、そちらを参考に適宜変えてみてください。

こんな感じに投稿されれば成功です!!
次回「【python】arXivから論文を取得してLINEで手軽に見たい~その3~」ではこの操作を定期的に行っていきたいと思います。
参考

コメント
[…] 【python】arXivから論文を取得してLINEで手軽に見たい~その2~前回、arXivのA… […]
[…] 「【python】arXivから論文を取得してLINEで手軽に見たい~その2~」では、IFTTTを使ってarXivから論文を取得して、LINEに通知するということをしました。 […]