Tutorial de bots/Usar pywikibot

De Wikilibros, la colección de libros de texto de contenido libre.

¿Qué hace cada bot de pywikipedia?[editar]

Cada bot se puede abrir con un editor de texto (Bloc de notas, IDLE, Word, etc.) y se encontrará casi siempre una breve descripción sobre qué es lo que hace el bot y cual es la sintaxis correcta.

Órdenes generales (argumentos)
  • -start:! Comienza a operar desde la primera página del proyecto en orden alfabético.
  • -start:B Comienza a operar desde la página B (o la siguiente alfabéticamente) en adelante. No siempre es necesaria. En catall.py sólo es necesario poner el nombre directamente.
  • -links:Página_A Sólo revisa las páginas que enlacen en Página A.
  • -cat:Principal Revisa únicamente las páginas pertenecientes a la Categoría:Principal.

Los argumentos se escriben en la misma línea que el nombre del archivo python a ejecutar, separándolos con un espacio. Todos comienzan con un guión. Si el nombre de la página o elemento incorpora un espacio deberá ser escrito entre comillas.

Login.py[editar]

Es lo primero que debes ejecutar cuando inicias el bot. Desde el momento que acepte la contraseña estarás identificado mientras mantengas la ventana abierta. Antes has debido crear un archivo de texto plano llamado user-config.py.

Los argumentos que acepta son
  • -pass:XXX Sustituyendo XXX por tu contraseña se identifica automáticamente. ¡¡Cuidado que la contraseña no se oculta!!. Si no usas el argumento te pide la contraseña, en ese momento sí se oculta.
  • -sysop Se identifica como bot pero con permisos de bibliotecario.
  • -all El bot se identifica en todos los proyectos que hayas escrito en user-config.py.
  • -force Cuando usas -all ignora si el usuario estaba en ese momento registrado.

Acaba dando una confirmación de que estás registrado.

Catall.py[editar]

Se usará cuando se quieran categorizar las páginas masivamente. Si no se indican argumentos empezará por la A. Si indicas un nombre comenzará por la página que corresponda.

Los argumentos que acepta son
  • -onlynew Sólo categoriza las páginas que no tienen ninguna categoría.

Te dice el nombre de la página, las categorías que ya tiene, y te deja escribir nuevas categorías, que sólo tendrás que escribir los nombres, nunca precediendo de la palabra categoría "Categoría:XXX".


Category.py[editar]

Sintaxis:

category.py acción [opciones]

La acción puede ser:

  • add Añade masivamente una categoría a una lista de páginas
  • remove Elimina categoría del conjunto de páginas en otra categoría
  • move Mueve todas las páginas de una categoría a otra
  • tidy Ordena una categoría moviendo sus páginas a subcategorías
  • tree Muestra un árbol de subcategorías de una categoría dada

Las opciones pueden ser:

  • person Lista personas por su último nombre (para acción 'add')
  • rebuild Resetea la base de datos

Interwiki.py[editar]

Interwiki.py es un bot diseñado para verificar que todos los enlaces interlingüísticos existan y sean correctos. Es un bot muy fácil de utilizar y de los más populares. No es muy divertido, pero el proceso es simple: Busca los interwikis existentes en la página, y luego sigue buscando en las páginas de otros idiomas, cuando encuentra todas las equivalencias posibles edita la página poniendo todos los interwikis que ha encontrado.

Los argumentos que acepta son
  • -force No pide permiso para hacer cambios importantes como eliminar un interwiki porque no exista la página a la que enlaza.
  • -always Hace guarda cambios aunque un solo byte se tenga que cambiar. No sólo en cambios importantes.
  • -hint: Usado como -hint:de:Anweisung da una idea al bot por dónde comenzar.

...Hasta 30 argumentos. Leer Interwiki.py para más información.

Una sola página[editar]

Lo más fácil (y menos útil) es comprobar una sola página:

  1. En la pantalla negra teclea interwiki.py (otra vez, asegúrate que estés en la carpeta correcta).
  2. Te pregunta cuál es la página que quieres analizar.
  3. Tecleas el título de la página (ej: Helen Keller)
  4. Checa todo y te pregunta si tiene dudas y si no hay nada que hacer te dice "No changes needed"

Más de una página[editar]

Para comprobar más de una página, se complica un poco el proceso: tienes que usar parámetros:

  • -start:XXX especifica dónde comenzar, por orden alfabético.
  • -autonomous hace que el bot opere solito, poniendo todas sus dudas en un documento en tu computadora.
  • -continue Continúa desde la última página que se verificó antes de que se detuviera el bot.

Entonces para checar todas las páginas, sin que te haga preguntas o te pida confirmaciones, darías la orden "interwiki.py -start:! -autonomous"

Si quisieras checar todas las páginas empezando con la letra "B", darías la orden "interwiki.py -start:B"

  • NOTA: Con esta última orden, el bot te va a pedir confirmaciones porque no has puesto -autonomous. Te preguntará cuál es el enlace correcto si encuentra dos interwikis enlazados al mismo idioma.

Replace.py[editar]

Debe iniciarse con parámetros. Si no se hace, y se dejan vacías las siguientes respuestas, se muestra a continuación la lista de parámetros que acepta. Si se quiere reemplazar todas las páginas, debe añadirse -start:!, si se quiere empezar por una página concreta se pone -start:Página (y se continuará en orden alfabético), si sólo se quiere revisar las páginas de una categoría, se usa -cat:Nombre de la categoría, y si se quiere revisar las páginas a las que enlaza X se usa -links:X.

Se pueden poner varias palabras a reemplazar.

Touch.py[editar]

Se usa para cuando se necesita refrescar alguna lista de páginas como: páginas huérfanas, lo que enlaza aquí, categorías aplicadas mediante plantillas, etc...

Su trabajo consiste en guardar cada página sin hacer ninguna modificación, por lo que no deja rastro en el historial ni en cambios recientes. Cuando se hace esto, se actualizan las listas que contienen un enlace a esa página, pudiendo quitar ese enlace si ya no debe estar ahí. Para que tenga un buen efecto se hace con todas las páginas a las que enlace.

Argumentos que acepta
  • -start:XXX Para indicarle a partir de la página que debe empezar.
  • -file:XXX Para indicarle el archivo que tiene que "tocar".
  • -ref:XXX Para indicar que debe actuar con las páginas cuyos enlaces se encuentren en la página en cuestión.
  • -links:XXX Para indicarle que modifique las páginas que sean enlazadas desde la página que escribas.
  • -cat:XXX Para indicarle que modifique las páginas categorizadas con una categoría.
  • -redir Fuerza a actuar con las páginas con redirecciones. En otro caso las saltaría.

Siendo XXX el nombre de la categoría, página, o archivo al que se refiera.

Si no pones parámetros te sale un texto de ayuda con parámetros posibles.

Redirect.py[editar]

Corrige redirecciones dobles (las redirecciones deben enlazar a una página existente, no redireccionada, entre otras cosas, para evitar bucles). También elimina páginas que redireccionan a páginas inexistentes o borradas, pero se necesita ser bibliotecario. No es necesario poner argumentos, sólo poner a continuación de redirect.py:

  • double (para reparar redirecciones dobles)
  • broken (para borrar páginas con redirecciones incorrectas)

Template.py[editar]

Este programa reemplaza una plantilla con otra, y convierte el antiguo formato {{msg:...}} al nuevo formato.

Ejemplo: python template.py "Cities in Washington" "Cities in Washington State"

Se deben poner comillas por existir espacios. El programa consultará la página de la plantilla y buscará todas las páginas que la estén usando y la reemplaza automáticamente.

Argumentos:

  • -remove Elimina la plantilla de todos los artículos.
  • -xml retrieve information from a local dump (http://download.wikimedia.org). If this argument isn't given, info will be loaded from the maintenance page of the live wiki. Argument can also be given as "-xml:filename.xml".
  • otros: El primer argumento es la plantilla antigua, el segundo es el nuevo nombre. Si sólo se da un argumento, el bot sustituye automáticamente la plantilla por su contenido. Ésto se puede hacer manualmente empezando la plantilla con "subst:" como en {{subst:...}}. No olvides poner comillas si la plantilla tiene espacios.

Para más información[editar]

meta:Category:Pywikipedia