Für die persönliche Arbeit.
Sie können die Antwort in XML mit der API des Ministeriums für innere Angelegenheiten und Kommunikation erhalten. Hier finden Sie eine Zusammenfassung zum Parsen dieses XML. Ich habe vor, es für die Arbeit zu nutzen, wenn ich zu Beginn der Woche Freizeit habe. Der Beispielcode der API des Ministeriums für innere Angelegenheiten und Kommunikation beschreibt, wie Sie soziale und demografische Statistiken erhalten. Wenn Sie darauf klicken, wird das folgende XML zurückgegeben.
<?xml version="1.0" encoding="UTF-8" standalone="true"?>
<GET_STATS_DATA xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://api.e-stat.go.jp/rest/2.0/schema/GetStatsData.xsd">
<RESULT>
<STATUS>0</STATUS>
<ERROR_MSG>Es endete normal.</ERROR_MSG>
<DATE>2016-09-04T21:28:09.920+09:00</DATE>
</RESULT>
<PARAMETER>
<LANG>J</LANG>
<STATS_DATA_ID>C0020050213000</STATS_DATA_ID>
<NARROWING_COND>
<CODE_CAT01_SELECT>#A03503</CODE_CAT01_SELECT>
</NARROWING_COND>
<DATA_FORMAT>X</DATA_FORMAT>
Unten weggelassen
Es ist so, als würde man dies mit dem urllib-Modul abrufen und mit dem xml-Modul auf das Element zugreifen. Wenn es sich um eine alte API handelt, ist möglicherweise keine JSON-Ausgabe vorhanden.
Dies wird an verschiedenen Stellen geschrieben, und wenn Sie sich das offizielle Dokument ansehen, wird es auf verschiedene Arten geschrieben. Die Endpunkt-URL der API des Ministeriums für innere Angelegenheiten und Kommunikation wird verwendet. Melden Sie sich jedoch an, um die Anwendungs-ID zu erhalten.
import urllib
url = 'http://api.e-stat.go.jp/rest/2.0/app/XXXXXXXXXXXX'
req = urllib.request.Request(url)
with urllib.request.urlopen(req) as response:
XmlData = response.read()
Dadurch werden die XML-Textdaten in XmlData gespeichert.
Importieren Sie das XML-Modul und starten Sie die Analyse. Dies ist auch in der offiziellen Dokumentation aufgeführt.
import xml.etree.ElementTree as ET
root = ET.fromstring(XmlData)
nur das.
#Tags und Inhalte der obersten Ebene
print(root.tag,root.attrib)
#Untergeordnete Hierarchie-Tags und -Inhalte
for child in root:
print(child.tag, child.attrib)
Wenn Sie Enkelelemente einschließen möchten, ist es besser, eine Liste oder ein Wörterbuch zu erstellen und diese zu schreiben.
Es ist wie der Zugriff auf eine Liste.
print(root[0][1].text)
Ich denke, ich kann tun, was ich vorerst tun möchte.
Recommended Posts