InternetArchiveBot

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search
This page is a translated version of the page InternetArchiveBot and the translation is 95% complete.

Other languages:
Deutsch • ‎English • ‎dansk • ‎español • ‎français • ‎galego • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎suomi • ‎русский • ‎اردو • ‎العربية • ‎مصرى • ‎हिन्दी • ‎ไทย • ‎中文 • ‎日本語 • ‎한국어

Was der InternetArchiveBot (IABot) ist

InternetArchiveBot ist ein PHP-basierter, framework-unabhängiger OAuth-Bot. Er wurde von Cyberpower678 hauptsächlich für Wikimedia-Wikis programmiert und von der globalen Wikimedia-Community auf Meta gut geheißen. Er ist ein global verfügbarer Bot, dessen Funktionen in an abstract class auf verschiedenen Wikis mit verschiedenen Regeln eingesetzt werden können. Um größtmögliche Flexibilität zu ermöglichen, bietet er lokale und off-site Konfigurationswerte an, die je nach Wunsch des Betreibers bzw. der jeweiligen Wiki-Community verändert werden können. Seine Aufgabe ist, verschiedene Aspekte des Linkrot anzugehen. In großen Projekten kann er mit anderen workers verknüpft werden, um die Arbeit schneller zu erledigen. Jeder worker analysiert seine eigene Seite und melden Statistiken zurück an den master.

Welche Funktion hat er?

IABot hat eine Reihe von Funktionen zur Analyse eines Artikels. Ziel ist die möglichst vollständige Abarbeitung defekter Weblinks. Hierfür analysiert er Weblinks auf verschiedene Arten, indem er

  1. nach URLs direkt im Artikel sucht statt in der Datenbank. Hierdurch kann er erkennen wie die URL genutzt wird, etwa ob der Link in einer Vorlage, einem Einzelnachweis oder als nackter Link vorhanden ist. Dies ermöglicht dem Bot, unterschiedlich formatierte Quellen intelligent zu handhaben, fast wie ein Mensch.
  2. Archive nach bereits vorhandenen Kopien durchsucht. Falls keine Kopie existiert, veranlasst er eine Speicherung durch die Wayback Machine.
  3. das Archiv der Wayback Machine nach einer brauchbaren Kopie des ehemaligen Inhalts zu dem toten Weblink überprüft. Alternativ kann er Archivlinks nutzen, die bereits für eine URL in Wikipedia vorhanden sind.
  4. überprüft, ob unmarkierte Weblinks tot sind oder nicht. Der Anteil der false positives liegt bei 0,1%.
  5. automatisch URLs in Vorlagen für Internetquellen erkennt und handhabt. Das gleiche gilt für Zugriffsdatenin Vorlagen.
  6. alle Informationen in eine Datenbank speichert, die Schnittstellen für die Nutzung der Daten erlaubt. So lernt der Bot und verbessert seine Arbeit.
  7. bestehende Archivlinks in ihre Langform konvertiert (falls diese Funktion aktiviert ist).
  8. fehlerhaft genutzte Archivvorlagen und falsch formatierte URLs repariert.

Wie es funktioniert

IABots Funktionen wurden - je nach Aufgabe - in verschiedene Gruppen eingeordnet. Kommunikationsaufgaben sowie on-wiki-Konfigurationswerte sind in der API-Gruppe gespeichert. Datenbankaufgaben sind in der DB-Gruppe gespeichert, verschiedene zentrale Funktionen in der Gruppe static Core class, Prüffunktionen für defekte Weblinks in der Gruppe CheckIfDead, thread engine in Thread class, und schließlich die projektübergreifenden sowie die wiki-spezifischen Parser-/Syntaxfunktionen in abstract Parser. Alle Funktionen außer der letzten können in allen Wikis laufen; die Parser-Funktionen benötigen wegen ihrer abstrakten Natur eine extension (Erweiterung??). Die Gruppe extensions beinhaltet Funktionen, mit denen der Bot im jeweiligen Wiki im Rahmen der vorgegebenen Regeln ordentlich arbeiten kann. Wenn der Bot startet, versucht er automatisch die richtige extension der Parser-Gruppe zu laden und dies als seine Parser-Gruppe zu initialisieren.

Derzeit unterstützte Wikis

IABot läuft derzeit in folgenden Wikis:

  1. Alemannisch Wikipedia
  2. Bavarian Wikipedia
  3. Central Kurdish Wikipedia
  4. German Wikipedia
  5. English Wikipedia
  6. Spanish Wikipedia
  7. French Wikipedia
  8. Italian Wikipedia
  9. Japanese Wikipedia
  10. Dutch Wikipedia
  11. Norwegian Wikipedia
  12. Russian Wikipedia
  13. Wikispecies
  14. Swedish Wikipedia
  15. Chinese Wikipedia

Konfiguration

Du kannst InternetArchiveBot selbst betreiben, indem du eine lokale Konfigurationsseite speicherst und in demselben Verzeichnis eine neue Datei deadlink.config.local.inc.php erstellst. Falls jemand anderes InternetArchiveBot betreibt und du ihn lediglich für ein bestimmtes Wiki konfigurieren möchtest, kannnst du eine Unterseite der Benutzerseite des Bots "Dead-links.js" erstellen und ihn dort konfigurieren. In der englischsprachigen Wikipedia zum Beispiel ist dies User:InternetArchiveBot/Dead-links.js. Die Konfigurationswerte werden im Folgenden erklärt:

  • link_scan – Bestimmt, wonach in einem Artikel gesucht werden soll. 0 behandelt jeden externen Weblink im Artikel. 1 durchsucht nur URLs innerhalb von Einzelnachweisen.
  • page_scan – Bestimmt welche Artikel bei Botläufen durchsucht werden. 0 durchsucht den gesamten Artikelbestand. 1 durchsucht nur diejenigen Artikel, in denen tote Links markiert sind.
  • dead_only – Bestimmt, welche URLs der Bot anfassen und/oder verändern darf. 0 erlaubt alle Änderungen an allen Links. 1 erlaubt eine Änderung nur an Links, die bereits als tot markiert sind. 2 erlaubt Änderungen an Links, die als tot markiert sind, und an allen als tot erkannten URLs.
  • tag_override – Überschreibt die Beurteilung durch den Bot, d.h. wenn ein Mensch eine URL als tot markiert hat, der Bot den Link aber als live erkennt, gibt der Wert 1 der vorhandenen Markierung den Vorrang vor dem Prüfergebnis des Bots. 0 schaltet dies aus.
  • archive_by_accessdate – 1 fordert den Bot auf, eine Archivversionen möglichst nahe am Datum des Zugriffs auf die URL bereitzustellen. 0 lässt den Bot einfach die neueste funktionierende Archivversion finden. Hiervon ausgenommen sind Links, zu denen ein Archivlink bereits gefunden und in der Datenbank gespeichert wurde.
  • touch_archive – Diese Einstellung bestimmt, ob der Bot den Zeitpunkt (Memento) eines vorhandenen Archivlinks ändern darf. 1 schaltet dieses Feature ein. 0 schaltet das Feature ab. Auch falls ein ungültiger Archivlink angegeben ist oder der Archivlink falsch formatiert ist, ignoriert der Bot diese Einstellung und bearbeitet diese Links.
  • convert_to_cites - Diese Einstellung bestimmt, ob der Bot Archivvorlagen von {{Webarchiv}} zu {{Internetquelle}} ersetzen darf. 1 schaltet dieses Feature ein. 0 schaltet das Feature ab.
  • notify_on_talk – Diese Einstellung veranlasst den Bot, auf der Diskussionsseite eines Artikels eine Nachricht über die vorgenommenen Änderungen zu hinterlassen. Nachdem ein Artikel verändert wurde, wird nur dann eine Nachricht auf der Diskussionsseite hinterlassen, wenn neue Archivlinks hinzugefügt oder bereits enthaltene Archivlinks verändert wurden. Es wird ausschließlich eine Nachricht hinterlassen (ohne Änderungen im Artikel), falls eine tote URL erkannt wurde oder falls Archivversionen für einzelne Links gefunden wurden. 1 schaltet dieses Feature ein. 0 schaltet das Feature ab.
  • notify_error_on_talk – Der Bot hinterläßt auf der Diskussionsseite eines Artikels einen Hinweis auf nicht archivierte problematische Quellen. 1 schaltet dieses Feature ein. 0 schaltet das Feature aus.
  • talk_message_header – Legt den Abschnittstitel für die Benachrichtung auf der Artikeldiskussionsseite fest, wenn notify_on_talk auf 1 gesetzt (eingeschaltet) ist.
Siehe Abschnitt #Magische Wörter für verfügbare Variablen („magische Wörter“).
  • talk_message – Legt die Nachricht auf der Artikeldiskussionsseite fest, wenn notify_on_talk auf 1 gesetzt (eingeschaltet) ist.
Siehe Abschnitt #Magische Wörter für verfügbare Variablen („magische Wörter“).
  • talk_message_header_talk_only – Definiert den Abschnittstitel der Benachrichtigung auf der Artikeldiskussionsseite fest, wenn der Bot nicht die Artikelseite bearbeitet.
Siehe Abschnitt #Magische Wörter für verfügbare Variablen („magische Wörter“).
  • talk_message_talk_only – Legt die Nachricht auf der Artikeldiskussionsseite fest, wenn der Bot den Artikel nicht verändert.
Siehe Abschnitt #Magische Wörter für verfügbare Variablen („magische Wörter“).
  • talk_error_message_header – Definiert den Abschnittstitel der Nachricht auf der Diskussionsseite, , wenn notify_error_on_talk auf 1 gesetzt (eingeschaltet) ist.
  • talk_error_message – Legt die Nachricht auf der Artikeldiskussionsseite fest, wenn notify_error_on_talk auf 1 gesetzt (eingeschaltet) ist.
Unterstützt die folgenden Variablen („magischen Wörter“):
  1. {problematiclinks}: Eine Spiegelstrichliste mit Fehlern/Problemen beim Archivieren von Links.
  • deadlink_tags – Eine Auflistung der lokal verwendeten Vorlagen für tote Links (z.B. {{Toter Link}}), die der Bot prüfen soll. Löst Weiterleitungen automatisch auf, so dass keine Weiterleitungen nötig sind. Formatiere die Vorlage wie einen Artikel, ohne Parameter.
  • citation_tags – Eine Auflistung der lokal verwendeten Vorlagen für Einzelnachweise, die URLs unterstützen und die der Bot prüfen soll. Löst Weiterleitungen automatisch auf, so dass keine Weiterleitungen nötig sind. Formatiere die Vorlage wie einen Artikel, ohne Parameter.
  • archive#_tags – Eine Auflistung von lokal verwendeten Vorlagen mit Weblinks, die Archivlinks enthalten können und somit die Archivierungshilfen des IABot nutzen können (z.B. {{cite web}}, {{Internetquelle}}, , {{Webarchiv}}). Löst Weiterleitungen automatisch auf, so dass keine Weiterleitungen nötig sind. Formatiere die Vorlage wie einen Artikel, ohne Parameter. Das Zeichen "#" ist eine Nummer. Es können mehrere Werte gesetzt werden, um verschiedene Archivierungsvorlagen zu nutzen. Dies ist unabhängig davon, wie der Bot auf einem bestimmten Wiki eingerichtet (designed) ist und ist Wiki-spezifisch.
  • talk_only_tags – Eine Auflistung der lokal verwendeten Vorlagen und tags (z.B. {{cbtalkonly}} auf enWP), die dem Bot signalisieren, dass er nur eine Nachricht auf der Diskussionsseite eines Artikels hinterlassen soll. Diese Befehle überschreiben für die ausgewählten Artikel die aktive (allgemeine) Konfiguration des Bots.
  • no_talk_tags – Eine Auflistung der lokal verwendeten Vorlagen und Bearbeitungsmarkierungen (tags), die dem Bot signalisieren, dass er keine Nachricht auf der Diskussionsseite eines Artikels hinterlassen soll (z.B. {{cbnotalk}} auf enWP). Diese Markierungen überschreiben für die ausgewählten Artikel die aktive (allgemeine) Konfiguration des Bots.
  • ignore_tags – Eine Sammlung von bot-spezifischen Bearbeitungsmarkierungen (tags) to seek out (?). Diese Markierungen befehlen dem Bot, den Link zu ignorieren, an dem diese Markierung angebracht ist. Löst Weiterleitungen automatisch auf, so dass keine Weiterleitungen nötig sind. Formatiere die Vorlage wie einen Artikel, ohne Parameter.
  • verify_dead – Aktiviert den Algorithmus zur Überprüfung toter Links. Der Bot prüft alle unmarkierten und noch nicht als tote Links gekennzeichnete URLs und handelt entsprechend dieser Information. 1 schaltet dieses Feature ein. 0 schaltet das Feature aus.
  • archive_alive – Trägt alle als live erkannten URLs zur dortigen Archivierung in der Wayback Machine (Internet Archive auf archive.org) ein, wenn sie dort noch nicht archiviert sind. 1 schaltet dieses Feature ein. 0 schaltet das Feature aus. Für dieses Feature ist die Genehmigung der Entwickler der Wayback Machine erforderlich.
  • notify_on_talk_only – Schaltet das Editieren im Artikel ab; der Bot hinterlässt eine Nachricht auf der Artikeldiskussionsseite. Dies überschreibt notify_on_talk. 1 schaltet dieses Feature ein. 0 schaltet das Feature aus.
  • convert_archives – Diese Option befiehlt dem Bot, alle erkannten Archivlinks in HTTPS umzuwandeln (falls möglich) und erzwingt, falls möglich, eine lange URL des Mementos, die einen dekodierbaren Zeitstempel und die Original-URL enthält.
  • convert_to_cites – This option instructs the bot to convert plain links inside references with no title to citation templates. Set to 0 to disable.
  • mladdarchive – Teil des „magischen Wortes“ {modifiedlinks}; weist auf die Hinzufügung eines Archivlinks zu einer URL hin.
Unterstützt die folgenden Variablen („magischen Wörter“):
  1. {link}: Die Original-URL.
  2. {newarchive}: Der vorgeschlagene Archivlink.
  • mlmodifyarchive – Teil des „magischen Wortes“ {modifiedlinks}; weist auf die Veränderung eines Archivlinks hin.
Unterstützt die folgenden Variablen („magischen Wörter“):
  1. {link}: Die Original-URL.
  2. {oldarchive}: Der bisherige Archivlink.
  3. {newarchive}: Der neue Archivlink.
  • mlfix – Teil des „magischen Wortes“ {modifiedlinks}; weist auf vorgenommene Formatänderungen und/oder Korrekturen an einer URL hin.
Unterstützt das folgende „magische Wort“:
  1. {link}: Die Original-URL.
  • mltagged – Teil des „magischen Wortes“ {modifiedlinks}; weist darauf hin, dass eine Original-URL als tot markiert wurde.
Unterstützt das folgende „magische Wort“:
  1. {link}: Die Original-URL.
  • mltagremoved – Teil des „magischen Wortes“ {modifiedlinks}; weist darauf hin, dass eine Markierung der Original-URL als tot entfernt wurde.
Unterstützt das folgende „magische Wort“:
  1. {link}: Die Original-URL.
Unterstützt das folgende „magische Wort“:
  1. {link}: Die Original-URL.
  • mladdarchivetalkonly – Teil des „magischen Wortes“ {modifiedlinks}; empfiehlt einen Archivlink zu einer URL, wenn der Artikel nicht vom Bot verändert wurde.
Unterstützt die folgenden Variablen („magischen Wörter“):
  1. {link}: Die Original-URL.
  2. {newarchive}: Der vorgeschlagene Archivlink.
  • mltaggedtalkonly – Teil des „magischen Wortes“ {modifiedlinks}; weist darauf hin, dass ein toter Originallink gefunden und als tot markiert werden sollte. Wird verwendet, wenn der Artikel nicht verändert wurde.
Unterstützt das folgende „magische Wort“:
  1. {link}: Die Original-URL.
  • mltagremovedtalkonly – Teil des „magischen Wortes“ {modifiedlinks}; weist darauf hin, dass ein als tot markierter Link doch live ist, und empfiehlt eine Entfernung des tags. Wird verwendet, wenn der Artikel nicht verändert wurde.
Unterstützt das folgende „magische Wort“:
  1. {link}: Die Original-URL.
Unterstützt die folgenden Variablen („magischen Wörter“):
  1. {link}: Die Original-URL.
  2. {error}: Der Fehler, der für diesen Link während der Archivierung vorkam.

Magische Wörter

Diese Variablen („magischen Wörter“) sind verfügbar, wenn sie in einer der obigen Konfigurationsoptionen erwähnt wurden.

  1. {namespacepage}: Der Name (Lemma) des Artikels, der geprüft wurde.
  2. {linksmodified}: Die Anzahl der Links, die im Artikel entweder markiert wurden oder für die Archivlinks angebracht wurden.
  3. {linksrescued}: Die Anzahl der Links, für die Archivlinks im Artikel angebracht wurden.
  4. {linksnotrescued}: Die Anzahl der Links, für die keine Archivlinks im Artikel angebracht werden konnten.
  5. {linkstagged}: Die Anzahl der Links, die im Artikel als tot markiert wurden.
  6. {linksarchived}: Die Anzahl der Links, die in der Wayback Machine archiviert wurden.
  7. {linksanalayzed}: Die Anzahl der Links, die im Artikel geprüft wurden.
  8. {pageid}: Die ID des geprüften Artikels.
  9. {title}: The URL (URL encoded variant) des geprüften Artikels.
  10. {logstatus}: Gibt "fixed" wieder, wenn der Bot auf Bearbeitungen des Artikels eingestellt wurde. Gibt "posted" wieder, wenn der Bot auf Diskussionsseitenhinweise eingestellt wurde.
  11. {revid}: Die Versionsnummer der Bearbeitung am Artikel. Bleibt leer, wenn der Artikel nicht bearbeitet wurde.
  12. {diff}: Der Difflink der Bearbeitung am Artikel. Bleibt leer, wenn der Artikel nicht bearbeitet wurde.
  13. {modifedlinks}: Eine Spiegelstrichliste der erfolgten/geplanten Bearbeitungen am artikel. Verwendet den Text, der in den anderen Variablen definiert wurde.

Quellcode

Der Quellcode des IABot ist auf https://github.com/cyberpower678/Cyberbot_II/tree/master/IABot einsehbar.

Entwicklungsplan

Phase 1 (erledigt) – InternetArchiveBot verarbeitet alle Artikel der englischsprachigen Wikipedia in der Kategorie Artikel mit toten Weblinks und ersetzt möglichst viele tote Links mit Archivlinks der Wayback Machine.

Phase 2 (erledigt) – InternetArchiveBot durchsucht alle Artikel der englischsprachigen Wikipedia nach nicht markierten toten Weblinks und ersetzt sie mit Archivlinks der Wayback Machine.

Phase 3 (in Arbeit) – Installiere InternetArchiveBot in anderen Wikis zusätzlich zur englischsprachigen Wikipedia (mit Zustimmung der jeweiligen Community).

Management

Many aspects of InternetArchiveBot can be managed at https://tools.wmflabs.org/iabot/, including reporting false positives for dead links and directing the bot to fix a single page.