** 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 ...
J'ai donc réduit la portée de ce que je voulais faire.
** 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.
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. 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 avec
time.sleep (1)`.
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