[PYTHON] [Ota Ward] Vérifiez l'état du traitement des demandes de prestations forfaitaires spéciales

Aperçu

Vous pouvez maintenant vérifier le statut de la demande en ligne des prestations forfaitaires spéciales sur le site Web d'Ota Ward. Si vous postulez en ligne, utilisez Beautiful Soup car vous pouvez connaître le statut de votre demande à partir du numéro de réception. J'essaierai d'obtenir des informations telles que l'état de la candidature.

Obtention de la date et de l'heure de mise à jour de HP

La date et l'heure de modification peuvent être obtenues à partir de l'en-tête de réponse Last-Modified.

print(res.headers['Last-Modified'])

#Sortie Mon, 25 May 2020 08:49:00 GMT

Acquisition du statut de traitement des demandes

L'état de l'application peut être obtenu à partir des balises ul et li dans id = "main". Vous pouvez obtenir une liste comprenant l'état de l'application en spécifiant avec select ().

Si vous avez déjà postulé en ligne, un numéro de réception vous sera émis afin que vous puissiez le comparer avec votre propre numéro pour connaître la situation actuelle.

申請状況.png
import requests, bs4
import re

res = requests.get('https://www.city.ota.tokyo.jp/cyuumokujoho/infection/kyufu/teigakukyuuhuonlinejokyo.html')
res.raise_for_status()
soup = bs4.BeautifulSoup(res.content, "html.parser")
elements = soup.select('#main ul li')

kyufu = 0
next = 0
for element in elements:
    text = element.getText()
    
    if 'Nombre d'applications' in text:
        print(text)
    if 'Statut de décision concernant les avantages' in text:
        print(text)
        kyufu = re.findall('[0-9]+', text)[0]
    if 'Prévu pour être décidé la prochaine fois' in text:
        print(text)
        next = re.findall('[0-9]+', text)[0]

number = 200503009999999
if int(kyufu) > number:
    print("Le statut de traitement de la demande est désormais le statut de décision concernant les prestations.")
elif int(next)  > number:
    print("Le statut du traitement de la demande sera décidé la prochaine fois.")
else:
    print("L'état du traitement de la demande est en attente d'examen.")
#production
Nombre d'applications 23,848 cas
Statut de la décision relative aux prestations Jusqu'au numéro de réception 200502004219879 Décision relative aux prestations
Prévu pour être décidé la prochaine fois Jusqu'au numéro de réception 200506012800746

Le statut du traitement de la demande sera décidé la prochaine fois.

Obtenez le statut de la date de transfert

Une directive pour la date de transfert est également fournie à partir de la date de demande. Vous pouvez l'obtenir à partir de la balise p dans id = "main" ainsi que du statut de l'application.

給付状況.png
elems = soup.select('#main p')

print(elems[4].getText().replace('。5', '。\n5'))
#production
Candidature le vendredi 1er mai: Le transfert sera effectué avant le mardi 26 mai (hors candidatures comportant des erreurs de saisie, etc. Il en sera de même ci-après).
Inscription le 2 mai (samedi): les virements seront effectués le 26 (mardi), le 29 (vendredi) et le 2 juin (mardi).
Inscription pour le dimanche 3 mai: le transfert débutera le mardi 2 juin.
Candidature pour le 4 mai (lundi): le transfert débutera le 2 juin (mardi).
Candidature le mardi 5 mai: les transferts débuteront le mardi 2 juin.
Candidature le mercredi 6 mai: les transferts débuteront le mardi 2 juin.
Candidature le jeudi 7 mai: le transfert débutera le vendredi 5 juin.
Les candidatures après le vendredi 8 mai seront également transférées en séquence. Remarque: le calendrier des transferts est un guide. Veuillez noter que cela peut prendre un certain temps en fonction de la progression et des erreurs de saisie.

référence

[Python] Obtenir la dernière date de mise à jour du site Web Belle soupe à comprendre en 10 minutes

Recommended Posts

[Ota Ward] Vérifiez l'état du traitement des demandes de prestations forfaitaires spéciales
Traitement d'image? L'histoire du démarrage de Python pour
Vérifiez l'état des données à l'aide de pandas_profiling
Vérifiez le temps de traitement et le nombre d'appels pour chaque processus avec python (cProfile)
Vérifier l'existence de tables BigQuery en Java
Vérifiez le fonctionnement de Python pour .NET dans chaque environnement
Vérifiez l'état de la mémoire du serveur avec la commande gratuite Linux
Vérifiez l'état de fonctionnement du serveur avec la commande Linux top
La fonction d'affichage d'image d'iTerm est pratique lors du traitement d'images.
Vérifiez l'augmentation / la diminution des pièces de monnaie pour chaque adresse de la blockchain
Vérifiez la protection de la mémoire de Linux Kerne avec le code pour ARM
for, continue, break Expliquer le flux du traitement itératif dans Python3-Part 1