[Python x Zapier] Obtenez des informations d'alerte et notifiez avec Slack

Ce que vous voulez faire (AVANT)

** Obtenez les informations d'avertissement de l'Agence météorologique et informez Slack s'il y a un avertissement dans la zone spécifiée **

Cet article Ce que vous voulez faire, c'est Don Pisha! Je pensais que je procédais selon l'article, mais à chaque fois que les données de l'Agence météorologique étaient mises à jour, j'exécutais la tâche de Zapier (un outil qui permet d'automatiser le travail) Mon plan dépasse la tâche maximale ...

screencapture-zapier-app-billing-plans-2020-02-09-17_41_58.png

J'ai donc réduit la portée de ce que je voulais faire.

Ce que tu veux faire (APRÈS)

** Recevez les informations d'avertissement de l'Agence météorologique à «7h00 tous les matins» et informez-en avec Slack si un avertissement est émis dans la zone désignée ** ▼ Cela ressemble à ceci (il semble que j'ai reçu un avertissement à la place car il n'y avait pas d'alarme lorsque je l'ai déplacé) Je n'ai reçu les informations qu'une fois par matin à 7 heures et j'ai défini le nombre d'exécutions de tâches à une fois par jour.

Présentation de Zap

  1. Tous les jours: configurez pour exécuter la tâche ici tous les matins à 7 heures du matin
  2. Exécutez Python: Obtenez / extrayez des informations de l'Agence météorologique (code ci-dessous)
  3. Ne continuez que si ...: S'il y a une sortie en 2, passez à la suivante (si une alarme est émise)
  4. Envoyer un message de canal dans Slack: notifier sur le canal spécifié par Slack

Code Python

J'ai pensé que je devais étudier parce que ce que je voulais faire a un peu changé, alors j'ai recherché et écrit la méthode de grattage. Premier Python! Lors de mes recherches, j'ai découvert que j'utiliserais quelque chose appelé Beautiful Soup, mais Aide Zapier ) A écrit quelque chose comme ça. スクリーンショット 2020-02-09 18.23.51.png Oh, oh, je ne peux pas utiliser Beautiful Soup! Il y a une sensation de force, mais je vais extraire uniquement la partie désirée (partie alarme) sans utiliser Beautiful Soup.

import re
import requests
import time

code_list = [['Sapporo', '0110000'], ['Est de la ville de Sendai', '0410001'], ['Ville de Saitama', '1110000']]
output = {'text': ''}

for code in code_list:
    html = requests.get('https://www.jma.go.jp/jp/warn/f_' + code[1] + '.html').text
    data_list = re.findall('<span style="color:#FF2800">(.*?)</span>', html)

    if len(data_list) == 0:
        continue

    text = '【' + code[0] + '】'
    i = 1
    for data in data_list:
        if i == len(data_list):
            text += data
        else:
            data = re.sub('alarme', '', data)
            text  += data + ','
        i += 1
    output['text'] += text + '\n'
    time.sleep(1)

Puisque la couleur de police de la partie d'alarme est # FF2800 sur la page de chaque région, toutes les parties entourées de<span style =" color: # FF2800 "> ~ </ span> ʻ sont extraites. De plus, comme plusieurs pages sont grattées, reposez-vous pendant 1 seconde avectime.sleep (1)`.

référence

Obtenir des informations auprès de l'Agence météorologique et notifier à Slack les avertissements météorologiques dans les 23 quartiers de Tokyo J'ai été très utile, y compris comment utiliser Zapier.

Recommended Posts

[Python x Zapier] Obtenez des informations d'alerte et notifiez avec Slack
Obtenez des informations sur l'alambic avec Python
[Python] Obtenez des informations sur les utilisateurs et des articles sur l'API de Qiita
Installez Python 2.7.9 et Python 3.4.x avec pip.
Obtenez des informations météorologiques avec Python et le grattage
Surveillance du site et notification d'alerte avec AWS Lambda + Python + Slack
Obtenez des informations sur la propriété en grattant avec python
[Python] Obtenez des informations sur le package Python avec l'API PyPI
[Blender x Python] Commençons avec Blender Python !!
[Yahoo! Weather Replacement Version] Comment obtenir des informations météo avec LINE Notify + Python
Obtenez la maintenance de l'iPad en grattant et en informant Slack
Obtenez l'objet et le corps de Gmail avec Python et l'API Gmail
Script Python pour obtenir des informations de note avec REAPER
[Python] Obtenez des informations produit telles que ASIN et JAN avec Amazon PA-API ver5.0
Obtenez date avec python
Obtenez des images et des vidéos de la chronologie des médias avec Python + Tweepy
Obtenez des commentaires sur youtube Live avec [python] et [pytchat]!
Recevoir des e-mails de Gmail et étiqueter avec Python3
Obtenez le code du pays avec python
Programmation avec Python et Tkinter
compilateur x86 réalisé avec python
Chiffrement et déchiffrement avec Python
Nombre de mots avec Apache Spark et python (Mac OS X)
Python et matériel - Utilisation de RS232C avec Python -
Comparez HTTP GET / POST avec cURL (commande) et Python (programmation)
Obtenez la chronologie Twitter avec Python
Publiez sur Slack avec Python 3
Tester Python avec Miniconda dans un environnement OS X et Linux avec travis-ci
Débarrassez-vous des données sales avec Python et les expressions régulières
Rationalisez la collecte d'informations avec l'API Twitter et les robots Slack
Commencez avec Python! ~ ② Grammaire ~
python avec pyenv et venv
Collecte d'informations sur Twitter avec Python (intégration de MySQL et Python)
[python] Obtenir le quotient et le surplus
Obtenez des stocks avec Python
Exemple d'analyse HTTP GET et JSON avec Pepper Python
Obtenir le répertoire personnel avec python
Obtenir un événement de clavier avec python
Avec skype, notifiez avec skype de python!
Obtenez des données supplémentaires vers LDAP avec python (Writer et Reader)
Essayez Juniper JUNOS PyEz (bibliothèque python) Note 2 ~ Obtenez des informations avec PyEz ~
Fonctionne avec Python et R
Obtenez des informations de l'Agence météorologique et informez Slack des avertissements météorologiques dans les 23 quartiers de Tokyo
Premiers pas avec le framework Python Django sur Mac OS X
Obtenez des conversions et des revenus avec l'API Google Analytics et faites un rapport à Slack
Obtenez des données de VPS MySQL avec Python 3 et SQL Alchemy
Essayez d'afficher la carte google et la carte géographique avec python
Installez lp_solve sur Mac OSX et appelez-le avec python.
J'ai essayé ChatOps avec Slack x API Gateway x Lambda (Python) x RDS
PhytoMine-I a essayé d'obtenir les informations génétiques de la plante avec Python
Communiquez avec FX-5204PS avec Python et PyUSB
Obtenez des informations sur les fichiers vidéo avec ffmpeg-python
Robot fonctionnant avec Arduino et python
Réseau neuronal avec OpenCV 3 et Python 3
Modulation et démodulation AM avec python
Lien pour commencer avec python
Scraping avec Node, Ruby et Python
Grattage avec Python, Selenium et Chromedriver
Obtenez la météo avec les requêtes Python