Obtenez l'état de fonctionnement de JR West avec Python

1_ Obtenez l'état de fonctionnement de JR West 2_ Obtenir un itinéraire avec un retard 3_ sortie Faire.

[Source de l'état de fonctionnement] http://trafficinfo.westjr.co.jp/list.html

Seul l'état de l'opération est obtenu à partir de html à l'aide de xpath. J'ai utilisé lxml dans le processus ici. Ce n'est pas particulièrement difficile, est-ce pour la pratique du grattage? Peut être juste pour vous. Il ressemble également à un iPhone lorsqu'il est accédé par un agent utilisateur. Puisqu'il est reçu comme argument, il peut être modifié librement. De plus, s'il n'y a pas de retard, la fonction terminera le processus tel quel sans retour (car c'est if body :).

Exemple de sortie

[01:26 État de fonctionnement actuel]
Région de la Chine:Il y a un retard, etc.

code

GET_JR_INFO.py


#coding: utf-8

import urllib2, lxml.html
from datetime import datetime
	
def GET_info(user_agent):
	headers = {'User-Agent': user_agent}
	root = lxml.html.fromstring(urllib2.urlopen(urllib2.Request("http://trafficinfo.westjr.co.jp/list.html", None, headers)).read())

	list_data = []
	list_data.append("[{}]".format("".join([i.text for i in root.xpath('//*[@id="contents"]/div[1]/h1')]).encode("utf-8")))
	for i in range(1, 7):
		path_status = '//*[@id="contents"]/div[2]/ul/li[%d]/span[3]' % i
		path_name = '//*[@id="contents"]/div[2]/ul/li[%d]/span[1]' % i
		if not "Il n'y a aucune information de retard." in "".join([i.text for i in root.xpath(path_status)]).encode("utf-8"):
			body = "{}: {}".format(
				"".join([i.text for i in root.xpath(path_name)]).encode("utf-8"),
				"".join([i.text for i in root.xpath(path_status)]).encode("utf-8"))
			list_data.append(body)
	if body:
		return list_data

if __name__ == "__main__":
	print "\n".join(GET_info(
		user_agent="Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25"
		))

Recommended Posts

Obtenez l'état de fonctionnement de JR West avec Python
Obtenez la météo avec les requêtes Python
Obtenez la météo avec les requêtes Python 2
Essayez d'automatiser le fonctionnement des périphériques réseau avec Python
Récupérez la source de la page à charger indéfiniment avec python.
Vérifier l'existence du fichier avec python
[Python] Récupère le nom de la variable avec str
[Python] Récupère le code de caractère du fichier
PhytoMine-I a essayé d'obtenir les informations génétiques de la plante avec Python
Obtenez la largeur du div côté serveur avec Selenium + PhantomJS + Python
J'ai essayé d'obtenir le code d'authentification de l'API Qiita avec Python.
Obtenez des visites d'articles et des likes avec l'API Qiita + Python
J'ai essayé d'obtenir les informations sur le film de l'API TMDb avec Python
Obtenez et estimez la forme de la tête en utilisant Dlib et OpenCV avec python
Obtenez la valeur de retour d'un script shell externe (ls) avec python3
[Python] Récupérez les fichiers dans le dossier avec Python
Préparer l'environnement d'exécution de Python3 avec Docker
Fonctionnement automatique de Chrome avec Python + Sélénium + pandas
Mathématiques Todai 2016 résolues avec Python
[Python] Obtenir / modifier l'étiquette d'échelle de la figure
[Python] Obtenez les principaux sujets de Yahoo News
Récupérer l'appelant d'une fonction en Python
Calculez le nombre total de combinaisons avec python
Vérifiez la date du devoir de drapeau avec Python
[Python] Débarrassez-vous de la datation avec des expressions régulières
Convertir le code de caractère du fichier avec Python3
[Python] Get the day (anglais et japonais)
[Python] Déterminez le type d'iris avec SVM
Obtenez la date de mise à jour du fichier de mémorandum Python.
[Python] Opération d'énumération
Obtenez date avec python
Informer périodiquement l'état de traitement de Raspberry Pi avec python → Google Spreadsheet → LINE
Remarque: Comment obtenir le dernier jour du mois avec python (ajouté le premier jour du mois)
Obtenez le cours de l'action d'une entreprise japonaise avec Python et faites un graphique
Comment obtenir une liste de fichiers dans le même répertoire avec python
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
Extraire le tableau des fichiers image avec OneDrive et Python
Apprenez Nim avec Python (dès le début de l'année).
[Python] Obtenez le chemin d'accès officiel du fichier de raccourci (.lnk)
[Python] Récupérez le texte de la loi à partir de l'API e-GOV law
[Python] Obtenez les nombres dans l'image graphique avec OCR
Détruire l'expression intermédiaire de la méthode sweep avec Python
[python] Récupère la liste des classes définies dans le module
Visualisez la gamme d'insertions internes et externes avec python
Récupérer le code retour d'un script Python depuis bat
Calculer le coefficient de régression d'une analyse de régression simple avec python
Obtenez des résultats au format dict avec Python psycopg2
Obtenir la taille (nombre d'éléments) de Union Find en Python
[Python] Obtenir la liste des noms ExifTags de la bibliothèque Pillow
Comprendre l'état de la perte de données - Python vs R
Visualisez le statut d'appréciation des œuvres d'art avec OpenCV
[Python] Obtenez le nombre de vues de tous les articles publiés
Obtenez l'URL de la destination de la redirection HTTP en Python
Construisez un serveur API pour vérifier le fonctionnement de l'implémentation frontale avec python3 et Flask
Obtenez des informations équivalentes à l'onglet Réseau des outils de développement Chrome avec Python + Selenium
Obtenez le code du pays avec python
Vers la retraite de Python2
Obtenez la chronologie Twitter avec Python