Holen Sie sich mit Python den Betriebsstatus von JR West

1_ Erhalten Sie den Betriebsstatus von JR West 2_ Holen Sie sich eine Route mit einer Verzögerung 3_ Ausgabe Machen.

[Betriebsstatusquelle] http://trafficinfo.westjr.co.jp/list.html

Nur der Betriebsstatus wird mit xpath von HTML abgerufen. Ich habe hier lxml verwendet. Es ist nicht besonders schwierig, also zum Schaben? Kann genau richtig für Sie sein. Es sieht auch aus wie ein iPhone, wenn ein Benutzeragent darauf zugreift. Da es als Argument empfangen wird, kann es frei geändert werden. Wenn es keine Verzögerung gibt, beendet die Funktion den Prozess so wie er ist, ohne zurückzukehren (weil es ist, wenn body :).

Beispiel ausgeben

[01:26 Aktueller Betriebszustand]
China Bereich:Es gibt eine Verzögerung usw.

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 "Es gibt keine Verzögerungsinformationen." 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

Holen Sie sich mit Python den Betriebsstatus von JR West
Holen Sie sich das Wetter mit Python-Anfragen
Holen Sie sich das Wetter mit Python-Anfragen 2
Versuchen Sie, den Betrieb von Netzwerkgeräten mit Python zu automatisieren
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
Überprüfen Sie die Existenz der Datei mit Python
[Python] Ruft den Variablennamen mit str ab
[Python] Ruft den Zeichencode der Datei ab
PhytoMine-I hat versucht, mit Python die genetischen Informationen der Pflanze zu erhalten
Ermitteln Sie mit Selenium + PhantomJS + Python die Breite des Div auf der Serverseite
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
Holen Sie sich Artikelbesuche und Likes mit Qiita API + Python
Ich habe versucht, die Filminformationen der TMDb-API mit Python abzurufen
Erhalten und schätzen Sie die Form des Kopfes mit Dlib und OpenCV mit Python
Ruft den Rückgabewert eines externen Shell-Skripts (ls) mit python3 ab
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Bereiten Sie die Ausführungsumgebung von Python3 mit Docker vor
Automatischer Betrieb von Chrome mit Python + Selen + Pandas
2016 Todai Mathematik mit Python gelöst
[Python] Ruft die Skalenbezeichnung der Figur ab / bearbeitet sie
[Python] Holen Sie sich die Hauptthemen von Yahoo News
Holen Sie sich den Aufrufer einer Funktion in Python
Berechnen Sie die Gesamtzahl der Kombinationen mit Python
Überprüfen Sie das Datum der Flaggenpflicht mit Python
[Python] Werden Sie die Datierung mit regulären Ausdrücken los
Konvertieren Sie den Zeichencode der Datei mit Python3
[Python] Holen Sie sich den Tag (Englisch & Japanisch)
[Python] Bestimmen Sie den Typ der Iris mit SVM
Rufen Sie das Aktualisierungsdatum der Python-Memorandum-Datei ab.
[Python] Operation der Aufzählung
Holen Sie sich ein Date mit Python
Benachrichtigen Sie regelmäßig den Verarbeitungsstatus von Raspberry Pi mit Python → Google Spreadsheet → LINE
Hinweis: So erhalten Sie den letzten Tag des Monats mit Python (hinzugefügt am ersten Tag des Monats)
Holen Sie sich mit Python den Aktienkurs eines japanischen Unternehmens und erstellen Sie eine Grafik
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
Extrahieren Sie die Tabelle der Bilddateien mit OneDrive & Python
Lerne Nim mit Python (ab Anfang des Jahres).
[Python] Ruft den offiziellen Dateipfad der Verknüpfungsdatei ab (.lnk)
[Python] Ruft den Gesetzestext aus der e-GOV-Gesetz-API ab
[Python] Holen Sie sich die Zahlen im Diagramm mit OCR
Zerstören Sie den Zwischenausdruck der Sweep-Methode mit Python
[Python] Ruft die Liste der im Modul definierten Klassen ab
Visualisieren Sie den Bereich der internen und externen Einfügungen mit Python
Holen Sie sich den Rückkehrcode eines Python-Skripts von bat
Berechnen Sie den Regressionskoeffizienten der einfachen Regressionsanalyse mit Python
Mit Python psycopg2 erhalten Sie Ergebnisse im Diktatformat
Ermitteln Sie die Größe (Anzahl der Elemente) von Union Find in Python
[Python] Ruft die Liste der ExifTags-Namen der Pillow-Bibliothek ab
Verstehen Sie den Status des Datenverlusts - Python vs. R.
Visualisieren Sie mit OpenCV den Wertschätzungsstatus von Kunstwerken
[Python] Ermittelt die Anzahl der Aufrufe aller veröffentlichten Artikel
Rufen Sie die URL des HTTP-Umleitungsziels in Python ab
Erstellen Sie einen API-Server, um den Betrieb der Front-Implementierung mit Python3 und Flask zu überprüfen
Mit Python + Selenium erhalten Sie Informationen, die der Registerkarte "Netzwerk" der Chrome-Entwicklertools entsprechen
Holen Sie sich den Ländercode mit Python
Auf dem Weg zum Ruhestand von Python2
Holen Sie sich Twitter-Timeline mit Python