¿Cómo recuperar el contenido de palabras de Wiktionary?

¿Cómo se puede utilizar la API de Wiktionary para determinar si existe o no una palabra?

La API de Wiktionary se puede utilizar para consultar si existe o no una palabra.

Ejemplos de páginas existentes y no existentes:

http://en.wiktionary.org/w/api.php?action=query&titles=test http://en.wiktionary.org/w/api.php?action=query&titles=testx

El primer enlace proporciona ejemplos sobre otros tipos de formatos que pueden ser más fáciles de analizar.

Para recuperar los datos de la palabra en un pequeño formato XHTML (si se requiere algo más que existencia), solicite la versión imprimible de la página:

http://en.wiktionary.org/w/index.php?title=test&printable=yes http://en.wiktionary.org/w/index.php?title=testx&printable=yes

Estos pueden ser analizados con cualquier analizador XML estándar.

Hay algunas advertencias al comprobar que Wiktionary tiene una página con el nombre que está buscando:

Advertencia n. ° 1 : todos los Wikizadores, incluido el Wikcionario en inglés, tienen el objective de incluir cada palabra en cada idioma, por lo que si simplemente utilizas la API anterior, sabrás que la palabra que estás preguntando es una palabra en al menos un idioma, pero no necesariamente inglés: http://en.wiktionary.org/w/api.php?action=query&titles=dicare

Advertencia # 2 : Quizás exista una redirección de una palabra a otra. Puede ser de una ortografía alternativa, pero podría ser de un error de algún tipo. La llamada de API anterior no diferenciará entre un redireccionamiento y un artículo: http://en.wiktionary.org/w/api.php?action=query&titles=profilemetry

Advertencia # 3 : Algunos Wikilenguajes, incluyendo el Wikcionario en inglés, incluyen “errores ortográficos comunes”: http://en.wiktionary.org/w/api.php?action=query&titles=fourty

Advertencia # 4 : Algunos Wiktionaries permiten entradas de código auxiliar que tienen poca o ninguna información sobre el término. Esto solía ser común en varios Wiktionary pero no en el Wiktionary en inglés. Pero parece que ahora se ha extendido también al Wiktionary en inglés: https://en.wiktionary.org/wiki/%E6%99%B6%E7%90%83 (enlace permanente para cuando el talón esté lleno, por lo que aún se puede ver cómo se ve un apéndice: https://en.wiktionary.org/w/index.php?title=%E6%99%B6%E7%90%83&oldid=39757161 )

Si estos no están incluidos en lo que desea, tendrá que cargar y analizar el texto en sí, lo que no es una tarea trivial.

Puede descargar un volcado de datos de Wikitionary . Hay más información en las preguntas frecuentes . Para sus propósitos, el volcado de definiciones es probablemente una mejor opción que el volcado xml.

Para que sea realmente simple, extrae las palabras del vertedero así:

 bzcat pages-articles.xml.bz2 | grep '[^[:space:][:punct:]]*' | sed 's:.*\(.*\).*:\1:' > words 

Si está usando Python, puede usar WiktionaryParser por Suyash Behera.

Puedes instalarlo por

 sudo pip install wiktionaryparser 

Ejemplo de uso:

 >>> from wiktionaryparser import WiktionaryParser >>> parser = WiktionaryParser() >>> word = parser.fetch('test') >>> another_word = parser.fetch('test', 'french') >>> parser.set_default_language('french')