# Pywikibot/replace.py

El script replace.py es una herramienta poderosa de Pywikibot que permite buscar y reemplazar texto en las páginas de los proyectos Wikimedia. Es útil cuando se necesita realizar cambios masivos, como corregir errores tipográficos comunes, actualizar enlaces, o hacer sustituciones de plantillas. Este script automatiza lo que sería un proceso tedioso si se realizara manualmente, ahorrando tiempo y esfuerzo a los editores.
El script es beneficioso para usuarios que gestionan grandes volúmenes de información en plataformas como Wikipedia, Wikiversidad o Wikcionario, ya que permite implementar de manera eficiente cambios sistemáticos en múltiples páginas.

## Sección teórica

Técnicamente, replace.py funciona escaneando las páginas de un proyecto Wikimedia y aplicando un patrón de búsqueda definido por el usuario, sustituyendo el texto encontrado por una nueva cadena. Utiliza expresiones regulares para realizar reemplazos avanzados, lo que permite al usuario especificar patrones complejos de texto que desee modificar. Este script opera sobre múltiples páginas de manera secuencial, actualizando el contenido de manera eficiente.
En esencia, es un proceso de buscar y reemplazar masivo, pero optimizado para las necesidades de edición en proyectos Wikimedia.

## Requisitos previos

Antes de usar replace.py, es necesario cumplir con los siguientes requisitos:
* Configuración de Pywikibot: Asegúrate de que Pywikibot esté correctamente instalado y configurado en tu entorno. Debes tener una cuenta activa en un proyecto Wikimedia y haber autenticado tu bot a través de OAuth o mediante un archivo user-config.py.
* Conocimientos básicos: Es importante estar familiarizado con los comandos de la línea de comandos y tener conocimientos básicos sobre las expresiones regulares (regex), ya que el script permite su uso para realizar reemplazos avanzados.
* Permisos adecuados: Asegúrate de tener los permisos de edición necesarios en el proyecto Wikimedia en el que planeas usar el script, especialmente si se realizarán cambios masivos.

## Guía paso a paso

A continuación, se presentan los pasos para ejecutar el script replace.py:
* Abre la terminal o línea de comandos en tu entorno de Pywikibot.
* Ejecuta el script con la siguiente sintaxis básica:
Por ejemplo, para reemplazar la palabra «Ejemplo» por «Demostración» en todas las páginas que contienen «Ejemplo»:
* Si deseas hacer un cambio solo en un conjunto específico de páginas, puedes proporcionar una lista de títulos de páginas mediante un archivo:
* También puedes usar expresiones regulares para realizar reemplazos más avanzados. Por ejemplo, para reemplazar cualquier número seguido de «kg» por el mismo número seguido de «kilogramos»:
* Una vez ejecutado, el script te pedirá confirmación antes de hacer cada cambio, a menos que utilices la opción -always.

## Ejercicio práctico
### Tarea

Usa el script para corregir automáticamente enlaces obsoletos en una serie de artículos.
* Elige una serie de páginas que contengan un enlace antiguo que deseas actualizar, como https://example.com/antiguo.
* Configura el script para buscar y reemplazar el enlace con su versión actualizada, como https://example.com/nuevo. Usa la siguiente instrucción:

### Preguntas de reflexión

* ¿Qué consideraciones tomaste al aplicar el script en varias páginas?
* ¿Cómo evaluaste el impacto de los cambios antes de confirmarlos?

## Opciones avanzadas y parámetros

El script replace.py ofrece varias opciones avanzadas que permiten personalizar su comportamiento:
* -always: Aplica los cambios sin pedir confirmación.
* -summary:"Texto": Personaliza el resumen de edición para que sea más descriptivo.
* -regex: Utiliza expresiones regulares para patrones de búsqueda más complejos.
* -nocase: Hace que la búsqueda no distinga entre mayúsculas y minúsculas.

## Resolución de problemas comunes

* Error: «No se encontraron páginas que coincidan con los criterios»: Asegúrate de que el patrón de búsqueda es correcto y que las páginas seleccionadas realmente contienen el texto que deseas reemplazar.
* Cambios no aplicados correctamente: Verifica que las expresiones regulares (si las estás usando) estén bien formuladas y que no estén afectando otras partes del contenido que no deberían ser modificadas.
* Problemas con permisos de edición: Asegúrate de que tu cuenta esté correctamente autenticada y que tengas los permisos adecuados para editar las páginas afectadas.

## Discusión y reflexión

* ¿Cuáles son los riesgos de hacer reemplazos masivos en un proyecto colaborativo como Wikipedia?
* ¿Cómo podrías mejorar el proceso de revisión antes de aplicar cambios para evitar errores o ediciones no deseadas?

## Conclusión

El script replace.py es una herramienta invaluable para hacer cambios masivos de manera eficiente en proyectos Wikimedia. A través de su uso práctico, se puede automatizar el mantenimiento y la actualización de contenidos. El uso responsable de este script es clave para evitar ediciones incorrectas.

### Recursos adicionales

* Documentación oficial de Pywikibot
* Guía de expresiones regulares