Ich erstelle eine Wiki-Site mit MediaWiki und habe nach einer API gesucht, um aktualisierte Informationen usw. mit Python zu erhalten, aber es gibt mehrere Qiita-Artikel und ** japanische MediaWiki-Version mit subtiler Übersetzung **, Englisch Da es nur Informationen zu MediaWiki gab, habe ich beschlossen, einen Artikel für diejenigen zu schreiben, die darüber nachdenken, API in Zukunft zu verwenden. Diese API ist grundsätzlich ** für andere MediaWiki-Websites als Wikipedia verwendbar ** und daher sehr vielseitig. Bitte beachten Sie, dass die ausführliche Erklärung möglicherweise falsch ist und etwas schwer zu lesen ist, da es sich um Qiitas ersten Beitrag handelt ...
Dies sind die Hauptparameter, mit denen der Inhalt dieses Artikels erfasst wird. In Bezug auf die Parameter wird Dieser Qiita-Artikel: Wikipedia-Informationen mithilfe der MediaWiki-API abrufen ausführlich vorgestellt. Neben dem Abrufen des Artikelinhalts gibt es also noch andere Dinge. Wenn Sie dies tun, sollten Sie sich darauf beziehen. Hinweis: Ich kann über den Link darauf zugreifen, verwende jedoch "Anfragen", um die Lesbarkeit zu verbessern.
Parameter | Erläuterung | Wert | Beispiel |
---|---|---|---|
format | Ausgabeformat | json,xml... | "format":"json"→ Ausgabe mit json |
action | Operation | query,edit... | "action":"query"→取得Operationをする |
prop | Artikelkomponenten abrufen | revisions,links,images... | "prop":"revisions"→ Revision abrufen |
title | Artikelüberschrift | Artikelüberschrift | "titles":"Katze"→「Katze」という記事を取得する |
rvprop | Elemente zu bekommen | content... | "rvprop":"content"→ Artikeltext abrufen |
list | Artikelliste abrufen | categorymembers,search... | "list":"categorymembers"→ Kategoriemitglieder abrufen |
cmtitle | Kategorietitel | Kategoriename | "cmtitle":"Nuko"→「Nuko」カテゴリを取得する |
cmlimit | Maximale Anzahl von Akquisitionen | 1~500 | "cmlimit":"100"→ Holen Sie sich bis zu 100 |
Den Artikelnamen erhalten Sie mit "Kategorie: Schulordnung der Präfektur Chiba" auf der von MediaWiki erstellten Website kousokuwiki.org.
coding: UTF-8
from urllib.request import Request, urlopen
from urllib.parse import urlencode
from urllib.error import URLError, HTTPError
import json
import requests
S = requests.Session()
# Deklarieren Sie die URL. Im Fall von Wikipedia ist dies "https://jp.wikipedia.org/w/api.php".
URL = "https://kousokuwiki.org/w/api.php"
# Parametereinstellungen.
PARAMS = {
"action": "query",
"cmtitle": "Kategorie: Schulordnung in der Präfektur Chiba",
"cmlimit": "500",
"list": "categorymembers",
"format": "json"
}
# Informationen mit get-Funktion abrufen
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
# Extrahieren der erforderlichen Daten aus json
PAGES = DATA['query']['categorymembers']
# Extrahieren Sie nur Titelinformationen und speichern Sie sie in der Liste
Return_List=[]
for page in PAGES:
Return_List.append(page['title'])
print(Return_List)
[Chiba Präfektur Chiba Higashi High School Bestimmungen, Chiba Präfektur Inba Akira Makoto High School Bestimmungen, Chiba Präfektur Kokubun High School Bestimmungen, Chiba Präfektur Narita International High School Bestimmungen, Chiba Präfektur Matsudo International High School Bestimmungen, Chiba Prefectural Kashiwanoha High School Bestimmungen Schulregeln ... (weggelassen)]
Den Inhalt des Artikels "Schulordnung der Chiba Prefectural Kashiwanoha High School" finden Sie auf der von MediaWiki erstellten Website kousokuwiki.org.
coding: UTF-8
from urllib.request import Request, urlopen
from urllib.parse import urlencode
from urllib.error import URLError, HTTPError
import json
import requests
S = requests.Session()
# Deklarieren Sie die URL. Im Fall von Wikipedia ist dies "https://jp.wikipedia.org/w/api.php".
URL = "https://kousokuwiki.org/w/api.php"
# Parametereinstellungen.
PARAMS = {
"action": "query",
"prop": "revisions",
"Titel": "Schulordnung der Chiba Prefectural Kashiwanoha High School",
"rvprop": "content",
"format": "json"
}
# Informationen mit get-Funktion abrufen
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
# Extrahieren der erforderlichen Daten aus json
CONTENT = DATA['query']['pages']
print(CONTENT)
{'61': {'pageid': 61, 'ns': 0, 'title': 'Schulregeln der Chiba Prefectural Kashiwanoha High School', 'revisions': [{'contentformat': 'text/x-wiki', 'contentmodel': 'wikitext', '*': 'Chiba Prefectural Kashiwanoha High School(Abkürzung:Kashiwanoha High School)Ist[[Präfektur Chiba]]Existiert in[[Öffentliche Schule|Öffentlichkeit]]von[[weiterführende Schule]]<br>\n[[Notationsklassifikation]] 、[[Haftungsausschluss]]を確認von上ご利用ください。\n\n=Grundregeln=\n\n{| class="wikitable"\n!Artikel\n!Schulregeln\n!Die aktuelle Situation\n!Bemerkungen\n|-\n|Verwenden Sie das Smartphone\n|Möglich\n|Möglich\n|PC ist auch möglich\n|-\n|Verwenden Sie SNS\n|Möglich\n|Möglich\n| 心得von規定Istあり\n|-\n|Teilzeitstelle\n|Begrenzt\n|Möglich\n| 要許可願Die aktuelle Situationとして成績が悪くなければ可能。シフトIst基本午後8時まで、午後10時までに帰宅することが条件(Wurde auf das Papier geschrieben).. Aber es spielt keine Rolle, wenn Sie es nicht auf Papier schreiben(店側が学校に確認von連絡を取らない場合)、時間だって虚偽von申告してもバレなかった。\n|-\n|Führerschein\n|Begrenzt\n|Begrenzt\n|Eine Erlaubnis kann erst nach Entscheidung des Kurses beantragt werden\n|-\n|Schulregeln改正\n|Nicht spezifiziert\n|unmöglich\n|Mitarbeiter entschieden\n|}\n\n=Haar- und Bekleidungsvorschriften=\n{| class="wikitable"\n!Artikel\n!Schulregeln\n!Die aktuelle Situation\n!Bemerkungen\n|-\n|Herrenuniform\n| colspan="3" |Blazer\n|-\n|Frauenuniform\n| colspan="3" |Blazer+スカート、スラックス可スラックス時vonみネクタイ可\n|-\n|Schuhe(Außerhalb des Campus)\n| colspan="3" |schwarz,茶von革靴又Ist運動靴\n|-\n|Schuhe(Schule)\n| colspan="3" |指定von学年色von上履き\n|-\n|Herrensocken\n| colspan="3" |紺又Ist白vonソックス\n|-\n|Frauensocken\n|colspan="3" |schwarz又Ist紺vonハイソックス\n|-\n|zurück\n| colspan="3" |華美でない機能的な高校生らしいもvon\n|-\n|Haar\n| colspan="3" |Perma Entfärbung Färben Lockenhaar etc. verboten\n|-\n|Mäntel\n|Möglich\n|Möglich\n|華美でないもvon 校舎内でIst脱ぐ\n|-\n|Schalldämpfer\n|Möglich\n|Möglich\n| 華美でないもvon 校舎内でIst脱ぐ\n|-\n|Pullover\n|Möglich\n|Möglich\n| 学校指定vonもvon\n|-\n|bilden\n|unmöglich\n|Flucht\n|bilden マニキュア ピアス カラコン 装飾品Ist一切禁止\n|}\n\n=そvon他規定=\n\n=Artikelauszug=\n[[Category:Präfektur Chibavon校則]]'}]}}
Schneiden Sie bei Bedarf nur die gewünschten Informationen weiter auf.
Ich habe die MediaWiki-API, der japanische Informationen fehlen, anhand von Beispielen erklärt. Wir können in Zukunft weitere Parametererklärungen und Implementierungsbeispiele hinzufügen! Wir hoffen, Sie finden es nützlich.
Recommended Posts