[LINE 알림] 매일 아침 날씨 알림을 LINE으로 보냅니다.

6961 단어 우분투Line

필자의 환경


  • Ubuntu18.04(KAGOYA VPS KVM)

  • LINE Notify란 무엇인가


  • 자신의 라인 계정에 메시지로 통지 할 수있는 서비스
  • IFTTT 및 GitHub와 협력하여 알림을 보낼 수도 있습니다

  • 자세한 내용은 여기

    특징


  • 기존 LINE Notify 계정에서 메시지를 보내 공지를 통지


  • 그룹에 메시지를 보낼 수도 있습니다
  • LINE Messaging API의 무료 프레임과 달리 자발적으로 메시지를 보낼 수 있습니다

  • 시험에 알림을 보냅니다.



    1. LINE Notify 페이지에서 토큰 발행



    여기 페이지로 이동하여 로그인합니다.

    오른쪽 상단의 메뉴에서 등록 서비스 관리를 엽니다.



    페이지 하단의 「토큰 발행」에서 통지명의 입력과 통지를 보내고 싶은 대상을 선택해 발행합니다. 이번에는 자신을 선택하고 있습니다.





    토큰은 카피해 메모장등에 붙여 둡니다, 모르게 되어 버린 경우는 재발행을 할 수 없기 때문에, 「토큰을 발행한다」로부터 다시 발행합니다.



    Ubuntu에서 다음 명령을 실행하여 토큰을 사용하여 알림을 받을 수 있는지 확인합니다.
    $ notifyKey="コピーしたトークン"
    $ message="この部分はsakkuntyoが指定したメッセージです"
    $ curl -X POST -H "Authorization: Bearer ${notifyKey}" -F "message=${message}" https://notify-api.line.me/api/notify
    {"status":200,"message":"ok"}
    

    status가 200이 아니면 토큰이 잘못되었으므로 다시 확인하십시오.

    라인에 통지가 온 것을 확인합니다.



    이 message 변수를 바꾸는 것으로 알려지는 내용을 바꿀 수 있습니다.

    매일 아침 날씨 알림 보내기



    1. 날씨 정보 얻기



    이미 준비된 날씨 예보 페이지에서 웹 스크래핑을 하여 날씨 정보를 얻고 싶습니다.

    도쿄의 날씨 정보를 원하므로 스크래핑할 페이지를 결정합니다.
    ウェブスクレイピングはページに負荷がかかるため~~ばれないように~~迷惑をかけない程度にやりましょう。
    

    나는 여기했다.



    이 부분에 날씨의 개요가 실려 있기 때문에, 여기의 정보를 취득하고 싶습니다.



    curl과 sed를 구사한 곳, 이하의 커멘드 형식으로 취득할 수 있는 것을 알았습니다.
    $ curl https://tenki.jp/forecast/3/16/ | grep forecast-comment | sed -e "s/.*forecast-comment\">//g" -e "s/<\/div>.*//g"
    きょうの関東地方は北部は晴れていますが、南部では雲が多くなっています。午後2時までの最高気温は東京17.2度、横浜17.5度、 千葉17.4度、さいたまは15.9度と、日中でも上着が欠かせなくなりました。このあとは、晴れ間が出ている所でも、次第に雲が多くなるでしょう。夜は南部を中心に雨が降りやすくなりそうです。あすは昼頃まで、曇りや雨の天気でしょう。
    

    2. 취득한 날씨 정보를 메시지로



    이 명령의 결과를 message 변수에 설정하도록 변경하고,

    이 일련의 명령을/usr/local/bin/tenki.sh에 씁니다.
    notifyKey="コピーしたトークン"
    message=`curl https://tenki.jp/forecast/3/16/ | grep forecast-comment | sed -e "s/.*forecast-comment\">//g" -e "s/<\/div>.*//g"`
    curl -X POST -H "Authorization: Bearer ${notifyKey}" -F "message=${message}" https://notify-api.line.me/api/notify
    {"status":200,"message":"ok"}
    

    이대로는 실행할 수 없으므로 tenki.sh에 실행 권한을 부여해 둡니다.
    $ chmod +x /usr/local/bin/tenki.sh
    -
    

    문제 없게 동작하는 것을 확인해 둡니다.
    $ /usr/local/bin/tenki.sh
    {"status":200,"message":"ok"}
    



    3. 정기 실행



    cron을 이용합니다. 설정은/etc/crontab을 편집하여 실시합니다.

    cron이 있는지 확실하지 않거나, 그렇지 않은 경우 다음 명령을 실행하여 설치합니다.
    $ sudo apt install cron -y
    -
    

    다음 줄을/etc/crontab에 추가합니다.

    매일 아침 8시 루트 사용자로/usr/local/bin/tenki.sh 실행

    같은 내용입니다.
    00 08 * * * root /usr/local/bin/tenki.sh
    

    이제 매일 아침 날씨 알림을받을 수 있습니다.

    좋은 웹페이지 즐겨찾기