Handbuch:Pywikibot/coordinate_import.py
| Das Wikimedia-Git-Repositorium enthält diese Datei: scripts/coordinate_import.py |
| Pywikibot-Skripte |
|---|
|
coordinate_import.py ist ein Pywikibot-Skript zum massenhaften Import von Koordinaten aus Wikipedia nach Wikidata.
Verwendung
$ python pwb.py coordinate_import -lang:en -family:wikipedia -cat:Category:Coordinates_not_on_Wikidata
Dies funktioniert auf allen Seiten in der Kategorie "Koordinaten nicht auf Wikidata" und importiert die Koordinaten von diesen Seiten nach Wikidata.
Die Daten stammen von der Erweiterung "GeoData", daher muss diese Erweiterung korrekt eingerichtet sein. In Wikimedia-Wikis ist die Erweiterung GeoData installiert. Du kannst auf der Seite Special:Nearby in deinem lokalen Wiki nachsehen, ob dort die Daten angezeigt werden.
Die Erweiterung fügt Koordinaten zur API hinzu. Der Koordinatenimport-Bot verwendet diese Informationen, um eine Aussage in Wikidata hinzuzufügen. Standardmäßig wird P625 (geographische Koordinaten) verwendet.
Zukünftig könnte der Bot auch andere Eigenschaften unterstützen, solange die Eigenschaft vom Typ Geografische Koordinaten ist.
Syntax
Du kannst jeden gängigen Seitengenerator verwenden, um eine Liste von Seiten bereitzustellen:
$ python pwb.py coordinate_import <some generator>
$ python pwb.py coordinate_import -lang:it -family:wikipedia -namespace:0 -transcludes:Infobox_stazione_ferroviaria
Du kannst auch eine Reihe von Datenobjekten im Repositorium ohne Koordinaten durchlaufen lassen und versuchen, diese von einer beliebigen verknüpften Seite zu importieren. Dazu musst du die Seite explizit mit den Argumenten -lang und -family angeben. Beispiel:
$ python pwb.py coordinate_import -lang:wikidata -family:wikidata -namespace:0 -querypage:Deadendpages
Die folgenden Parameter für die Befehlszeile werden unterstützt:
| Parameter | Beschreibung |
|---|---|
-create |
Datenobjekte für Seiten ohne Datenobjekt erstellen |
Globale Argumente verfügbar
Diese Optionen werden die Konfiguration in den user-config.py-Einstellungen überschreiben.
| Parameter | Beschreibung | Konfigurationsvariable |
|---|---|---|
-dir:PFAD |
Liest die Konfigurationsdaten des Bots aus dem durch PFAD angegebenen Verzeichnis, anstatt aus dem Standardverzeichnis. | |
-config:Datei |
Der Dateiname der Benutzerkonfiguration. Default is user-config.py. | user-config.py |
-lang:xx |
Legt die Sprache des Wikis fest, in dem du arbeiten möchtest, und überschreibt damit die Konfiguration in user-config.py. xx sollte der Sprachcode sein. | mylang |
-family:xyz |
Legt die Familie des Wikis fest, in dem du arbeiten möchtest, z. B. wikipedia, wiktionary, wikitravel, ... Dies überschreibt die Konfiguration in user-config.py. | family |
-user:xyz |
Melde als Benutzer 'xyz' an anstatt des Standardbenutzernamens. | usernames |
-daemonize:xyz |
Gibt die Kontrolle umgehend an das Terminal zurück und leitet stdout und stderr zur Datei xyz um. (Nur für Bots verwenden, die keine Eingabe von stdin benötigen). | |
-help |
Zeige den Hilfetext. | |
-log |
Aktiviert die Protokolldatei mit dem Standarddateiname 'script_name-bot.log'. Die Protokolle werden im Unterverzeichnis logs gespeichert. | log |
-log:xyz |
Aktiviert die Protokolldatei mit 'xyz' als Dateinamen. | logfilename |
-nolog |
Deaktiviert die Protokolldatei (falls diese standardmäßig aktiviert ist). | |
-maxlag |
Legt einen neuen maxlag-Parameter mit einer Anzahl von Sekunden fest. Verzögert Bot-Bearbeitungen bei Verzögerungen der Datenbank-Server. Der Standard wird in config.py festgelegt. | maxlag |
-putthrottle:n-pt:n-put_throttle:n |
Legt die Mindestzeit (in Sekunden) fest, die der Bot zwischen dem Speichern von Seiten wartet. | put_throttle |
-debug:item-debug |
Aktiviert die Protokolldatei und fügt umfangreiche Debugging-Daten für die Komponente "item" hinzu (für alle Komponenten, wenn die zweite Form verwendet wird). | debug_log |
-verbose-v |
Lässt den Bot zusätzliche Konsolenausgaben bereitstellen, die beim Debuggen hilfreich sein könnten. | verbose_output |
-cosmeticchanges-cc |
Stellt die in config.py oder user-config.py vorgenommene Einstellung cosmetic_changes auf ihr Gegenteil um und überschreibt sie. Alle anderen Einstellungen und Einschränkungen bleiben unverändert. | cosmetic_changes |
-simulate |
Deaktiviert das Schreiben auf den Server. Hilfreich beim Testen und Debuggen von neuem Code (falls angegeben, werden keine tatsächlichen Änderungen vorgenommen, sondern nur angezeigt, was geändert worden wäre). | simulate |
-<Konfigurationsvariable>:n |
Du kannst alle angegebenen numerischen Konfigurationsvariablen als Optionen verwenden und diese über die Befehlszeile modifizieren. |
Generatoren und Filter verfügbar
| Parameter | Beschreibung |
|---|---|
-cat |
Bearbeitet alle Seiten, die sich in einer bestimmten Kategorie befinden. Das Argument kann auch als "-cat:Kategoriename" oder als "-cat:Kategoriename|fromtitle" angegeben werden (die Verwendung von # anstelle von | ist für diesen und den folgenden Parameter ebenfalls zulässig). |
-catr |
Wie -cat, bezieht aber auch rekursiv Seiten in Unterkategorien, Unter-Unterkategorien usw. der gegebenen Kategorie mit ein. Das Argument kann auch als "-catr:Kategoriename" oder als "-catr:Kategoriename|fromtitle" angegeben werden. |
-subcats |
Bearbeitet alle Unterkategorien einer bestimmten Kategorie. Das Argument kann auch als "-subcats:Kategoriename" oder als "-subcats:Kategoriename|fromtitle" angegeben werden. |
-subcatsr |
Wie -subcats, bezieht aber auch Unter-Unterkategorien usw. der gegebenen Kategorie ein. Das Argument kann auch als "-subcatsr:Kategoriename" oder als "-subcatsr:Kategoriename|fromtitle" angegeben werden. |
-uncat |
Bearbeitet alle Seiten, die nicht kategorisiert sind. |
-uncatcat |
Bearbeitet alle Kategorien, die nicht kategorisiert sind. |
-uncatfiles |
Bearbeitet alle Dateien, die nicht kategorisiert sind. |
-file |
Liest eine Liste der zu verarbeitenden Seiten aus der angegebenen Textdatei. Die Seitentitel in der Datei können entweder in eckigen Klammern stehen (Beispiel: [[Page]]) oder durch Zeilenumbrüche getrennt sein. Das Argument kann auch als "-file:Dateiname" angegeben werden. |
-filelinks |
Bearbeitet alle Seiten, die eine bestimmte Bild-/Mediendatei verwenden. Argument kann auch als "-filelinks:Dateiname" angegeben werden. |
-search |
Bearbeitet alle Seiten, die bei einer MediaWiki-Suche über alle Namensräume gefunden werden. |
-logevents |
Bearbeitet Artikel, die sich in einem bestimmten Spezial:Logbuch befanden. Der Wert kann eine durch Kommas getrennte Liste dieser Werte sein:
logevent,username,start,end oder für Abwärtskompatibilität: logevent,username,total Um den Standardwert zu verwenden, gib eine leere Zeichenkette ein. Für jeden Logbuchtyp, der durch den Logbuchereignis-Parameter angegeben wird, stehen dir Optionen zur Verfügung, die einen der folgenden Werte annehmen können: spamblacklist, titleblacklist, gblblock, renameuser, globalauth, gblrights, gblrename, abusefilter, massmessage, thanks, usermerge, block, protect, rights, delete, upload, move, import, patrol, merge, suppress, tag, managetags, contentmodel, review, stable, timedmediahandler, newusers Es verwendet die Standardseitenzahl 10. Beispiele: -logevents:move gibt Seiten aus dem Verschiebungslogbuch aus (normalerweise Weiterleitungen) -logevents:delete,,20 gibt 20-Seiten aus dem Löschlogbuch aus -logevents:protect,Usr gibt von Benutzer Usr geschützte Seiten aus -logevents:patrol,Usr,20 gibt 20 von Usr kontrollierte Seiten aus -logevents:upload,,20121231,20100101 gibt in den 2010ern, 2011ern und 2012ern hochgeladene Seiten aus -logevents:review,,20121231 gibt gesichtete Seiten seit der Einführung bis 31. Dezember 2012 aus -logevents:review,Usr,20121231 gibt von Benutzer Usr gesichtete Seiten seit der Einführung bis 31. Dezember 2012 ausIn einigen Fällen muss es als -logevents:"move,Usr,20" angegeben werden. |
-interwiki |
Bearbeitet die angegebene Seite und alle entsprechenden Seiten in anderen Sprachen. Dies kann beispielsweise zur Bekämpfung von seitenübergreifendem Spamming eingesetzt werden. Achtung: Dadurch ändert der Bot Seiten auf mehreren Wiki-Seiten, dies ist nicht gut getestet, daher solltest du deine Bearbeitungen überprüfen! |
-links |
Bearbeitet alle Seiten, die von einer bestimmten Seite verlinkt sind. Argument kann auch als "-links:TitelderverlinkendenSeite" angegeben werden. |
-liverecentchanges |
Bearbeitet Seiten aus dem Live-Feed der letzten Änderungen. Bei Verwendung als -liverecentchanges:x werden die x letzten Änderungen verarbeitet. |
-imagesused |
Bearbeitet alle Bilder, die auf einer bestimmten Seite enthalten sind. Kann auch als "-imagesused:TitelderverlinkendenSeite" angegeben werden. |
-newimages |
Bearbeitet die neuesten Bilder. Bei Angabe als -newimages:x werden die x neuesten Bilder verarbeitet. |
-newpages |
Bearbeitet die neuesten Seiten. Bei Angabe als -newpages:x werden die x neuesten Seiten verarbeitet. |
-recentchanges |
Bearbeitet Seiten mit den neuesten Änderungen. Bei Angabe als -recentchanges:x werden die x zuletzt geänderten Seiten verarbeitet. Bei Angabe als -recentchanges:offset,duration werden Seiten, die innerhalb von 'offset' Minuten mit einer Zeitspanne von 'duration' Minuten geändert wurden, verarbeitet.
Beispiele: |
-unconnectedpages |
Bearbeitet die neuesten, nicht mit dem Wikibase-Repositorium verbundenen Seiten. Bei Angabe als -unconnectedpages:x werden die x neuesten nicht verbundenen Seiten verarbeitet. |
-ref |
Bearbeitet alle Seiten, die auf eine bestimmte Seite verlinken. Argument kann auch als "-ref:TitelderverlinktenSeite" angegeben werden. |
-start |
Legt fest, dass der Roboter alphabetisch alle Seiten des Heimat-Wikis durchgehen soll, beginnend mit der angegebenen Seite. Argument kann auch als "-start:Seitentitel" angegeben werden. Du kannst auch einen Namensraum angeben. Beispielsweise bewirkt "-start:Template:!", dass der Bot alle Seiten im Vorlagennamensraum verarbeitet. Standardwert ist start:! |
-prefixindex |
Bearbeitet Seiten, die mit einem gemeinsamen Präfix beginnen. |
-transcludes |
Bearbeitet alle Seiten, die eine bestimmte Vorlage verwenden. Argument kann auch als "-transcludes:Titel" angegeben werden. |
-unusedfiles |
Bearbeitet alle Beschreibungsseiten von Bilder-/Mediendateien, die nirgendwo verwendet werden. Argument kann als "-unusedfiles:n" angegeben werden, wobei n die maximale Anzahl von Artikeln ist, die verarbeitet werden. |
-lonelypages |
Bearbeitet alle Artikel, die nicht von anderen Artikeln verlinkt sind. Argument kann als "-lonelypages:n" angegeben werden, wobei n die maximale Anzahl von Artikeln ist, die verarbeitet werden. |
-unwatched |
Bearbeitet alle Artikel, die von niemandem beobachtet werden. Argument kann als "-unwatched:n" angegeben werden, wobei n die maximale Anzahl von Artikeln ist, die verarbeitet werden. |
-property:name |
Bearbeitet alle Seiten mit einem angegebenen Eigenschaftsnamen aus Spezial:Seiten mit Eigenschaften. |
-usercontribs |
Bearbeitet alle Art, die von einem bestimmten Benutzer bearbeitet wurden. (Beispiel: -usercontribs:DumZiBoT) |
-weblink |
Bearbeitet alle Artikel, die einen externen Link auf eine angegebene URL enthalten; kann als "-weblink:url" angegeben werden. |
-withoutinterwiki |
Bearbeitet alle Seiten, die keine sprachübergreifenden Links haben. Argument kann als "-withoutinterwiki:n" angegeben werden, wobei n die Gesamtzahl abzurufender Seiten ist. |
-mysqlquery |
Nimnt eine MySQL-Abfragezeichenkette wie "SELECT page_namespace, page_title, FROM page WHERE page_namespace = 0" und verarbeitet die erhaltenen Seiten. Siehe Handbuch:Pywikibot/MySQL. |
-sparql |
Nimnt eine SPARQL-SELECT-Abfragezeichenkette mit ?item und verarbeitet die erhaltenen Seiten. |
-sparqlendpoint |
Gibt die URL des SPARQL-Endpunkts an (optional). (Beispiel: -sparqlendpoint:http://myserver.com/sparql) |
-searchitem |
Nimmt eine Such-Zeichenkette und verarbeitet Wikibase-Seiten, die diese enthalten. Argument kann als "-searchitem:Text" angegeben werden, wobei Text die zu suchende Zeichenkette ist oder als "-searchitem:lang:Text", wobei lang die Sprache ist, in der Datenobjekte gesucht werden. |
-random |
Bearbeitet zufällige Seiten, die über Spezial:Zufällige Seite ausgegeben werden. Kann auch als "-random:n" angegeben werden, wobei n die Anzahl von Seiten ist, die ausgegeben werden. |
-randomredirect |
Bearbeitet zufällige Weiterleitungsseiten, die über Spezial:Zufällige Weiterleitung ausgegeben werden. Kann auch als "-randomredirect:n" angegeben werden, wobei n die Anzahl auszugebender Seiten ist. |
-google |
Bearbeitet alle Seiten, die mit einer Google-Suche gefunden werden. Du benötigst einen Lizenzschlüssel für die Google Web-API. Beachte, dass Google keine Lizenzschlüssel mehr ausgibt. Siehe google_key in config.py für Anweisungen. Argument kann auch als "-google:Suchzeichenkette" angegeben werden. |
-yahoo |
Bearbeitet alle Seiten, die mit einer Yahoo-Suche gefunden werden. Hängt vom Python-Modul pYsearch ab. Siehe yahoo_appid in config.py für Anweisungen. |
-page |
Bearbeitet eine einzelne Seite. Argument kann auch als "-page:Seitentitel" angegeben werden und mehrfach für mehrere Seiten angegeben werden. |
-pageid |
Bearbeitet eine einzelne Seiten-ID. Argument kann auch als "-pageid:Seiten-ID1,Seiten-ID2,." oder "-pageid:'Seiten-ID1|Seiten-ID2|..'" angegeben werden und mehrfach für mehrere Seiten angegeben werden. |
-linter |
Bearbeitet Seiten, die Lint-Fehler enthalten. Die Erweiterung Linter muss auf der Seite verfügbar sein. -linter wählt alle Kategorien aus. -linter:high, -linter:medium oder -linter:low wählt alle Kategorien für diese Priorität aus. Einzelne Kategorien können mit Kommas ausgewählt ausgewählt werden, wie in -linter:Kategorie1,Kategorie2,Kategorie3. Durch Hinzufügen von '/int' wird eine Lint-ID identifiziert, ab der abgefragt wird: z. B. -linter:high/10000. -linter:show zeigt nur verfügbare Kategorien an. |
| Parameter | Beschreibung |
|---|---|
-catfilter |
Filtert den Seitengenerator so, dass nur Seiten in der angegebenen Kategorie ausgegeben werden. Siehe -cat-Generator für das Argumentformat. |
-grep |
Ein regulärer Ausdruck, der mit dem Artikel übereinstimmen muss, andernfalls wird die Seite nicht zurückgegeben. Es können mehrere -grep:regexpr angegeben werden und die Seite wird zurückgegeben, wenn der Inhalt mit einem der angegebenen regulären Ausdrücke übereinstimmt. Es werden reguläre Ausdrücke verwendet, bei denen die Groß-/Kleinschreibung ignoriert wird, und der Punkt steht für jedes beliebige Zeichen, einschließlich eines Zeilenumbruchs. |
-grepnot |
Wie -grep, aber die Seite wird nur zurückgegeben, wenn der reguläre Ausdruck nicht übereinstimmt. |
-intersect |
Bearbeitet die Schnittmenge aller angegebenen Generatoren. |
-limit |
Bei Verwendung mit einem anderen Argument gibt -limit:n eine Menge von Seiten an, wodurch insgesamt nicht mehr als n Seiten bearbeitet werden. |
-namespaces-namespace-ns |
Filtert den Seitengenerator so, dass nur Seiten in den angegebenen Namensräumen ausgegeben werden. Trenne mehrere Nummern oder Namen von Namensräumen mit Kommas.
Beispiele: -ns:0,2,4 -ns:Help,MediaWiki Du kannst ein vorangestelltes "not" verwenden, um den Namensraum auszuschließen. Beispiele: -ns:not:2,3 -ns:not:Help,File Bei Verwendung mit -newpages/-random/-randomredirect/-linter-Generatoren muss -namespace/-ns vor -newpages/-random/-randomredirect/-linter angegeben werden. Bei Verwendung mit dem -recentchanges-Generator wird die Effizienz verbessert, wenn -namespace vor -recentchanges angegeben wird. Bei Verwendung mit dem -start-Generator sollte -namespace/-ns nur einen Wert enthalten. |
-onlyif |
Eine Aussage, die die Seite enthalten muss, andernfalls wird das Datenobjekt nicht zurückgegeben. Das Format ist Eigenschaft=Wert,Qualifikator=Wert. Es können mehrere (oder keine) Qualifikatoren durch Kommas getrennt angegeben werden.
Beispiele: -onlyif:expression" angegeben werden. |
-onlyifnot |
Eine Aussage, die die Seite nicht enthalten darf, andernfalls wird das Datenobjekt nicht zurückgegeben. Für die Verwendung und Beispiele siehe -onlyif oben. |
-ql |
Filtert Seiten basierend auf der Seitenqualität. Dies ist nur anwendbar, wenn das Inhaltsmodell 'proofread-page' entspricht, andernfalls hat es keine Auswirkungen. Gültige Werte liegen im Bereich 0-4. Mehrfache Werte können durch Kommas getrennt werden. |
-subpage |
-subpage:n filtert Seiten auf jene, die eine Tiefe n haben, d. h. eine Tiefe von 0 filtert alle Seiten, die Unterseiten sind, und eine Tiefe von 1 filtert alle Seiten, die Unterseiten von Unterseiten sind. |
-titleregex |
Ein regulärer Ausdruck, der mit dem Artikeltitel übereinstimmen muss, andernfalls wird die Seite nicht zurückgegeben. Es können mehrere -titleregex:regexpr angegeben werden und die Seite wird zurückgegeben, wenn der Titel mit einem der angegebenen regulären Ausdrücke übereinstimmt. Es werden reguläre Ausdrücke verwendet, bei denen die Groß-/Kleinschreibung ignoriert wird, und der Punkt steht für jedes beliebige Zeichen. |
-titleregexnot |
Wie -titleregex, gibt die Seite jedoch nur zurück, wenn der reguläre Ausdruck nicht übereinstimmt. |