2010-11-14 11 views
6

Me gustaría obtener el significado de la palabra seleccionada usando la API wikionary. contenido recuperar datos deben ser los mismos que se presenta en la "palabra del día", sólo el significado básico sin etympology, sinónimos, etc .. por ejemplowikionary API - significado de las palabras

"postiche n Cualquier artículo de pelo falso lleva en la cabeza o cara, como una barba o peluca falsa ".

He intentado utilizar la documentación, pero puedo encontrar un ejemplo similar, ¿alguien puede ayudarme con este problema?

+0

Creo que el contenido del cuadro "Palabra del día" en la página de inicio se edita manualmente para mantenerlo breve. Al abrir la palabra artículo, verá más significados para esa palabra. –

+1

ver también http://stackoverflow.com/questions/3364279/has-anyone-parsed-wiktionary – pfctdayelise

Respuesta

13

Aunque MediaWiki tiene una API (api.php), puede ser que sea más fácil para sus propósitos de usar sólo el parámetro action=raw a index.php si sólo desea recuperar el código fuente de una revisión (no envuelto en XML, JSON, etc. , a diferencia de la API).

Por ejemplo, esta es la palabra en bruto de la página días para el 14 de noviembre:

http://en.wiktionary.org/w/index.php?title=Wiktionary:Word_of_the_day/November_14&action=raw

Lo lamentable es que el formato de las páginas wiki se centra en la presentación (para el lector humano) y no en semántica (para la máquina), por lo que no debería sorprenderse que no haya un comando API "obtener definición de palabras". En su lugar, su secuencia de comandos tendrá que dar sentido a las numerosas plantillas de formato de texto que los editores de Wiktionary han creado y utilizado, así como a la compleja sintaxis de formato de presentación, incluidos encabezados, listas desordenadas y otras. Por ejemplo, aquí está el código fuente de la página "desbordamiento":

http://en.wiktionary.org/w/index.php?title=overflow&action=raw

Hay es una opción "generar árbol de análisis sintáctico XML" en la API, pero no se rompe mucho del de presentación formato en XML. Sólo hay que ver por sí mismo:

http://en.wiktionary.org/w/api.php?action=query&titles=overflow&prop=revisions&rvprop=content&rvgeneratexml=&format=jsonfm

En caso de que se preguntan si existe un programa de análisis de páginas MediaWiki-formato que no sea MediaWiki, no, no lo hay. Al menos, no hay nada escrito en JavaScript que se mantenga actualmente (consulte list of alternative parsers, y consulte los sitios web de los dos enumerados). Y aun así, admitir la mayoría de las plantillas comunes será un gran desafío. Buena suerte.

1

OK, admito la derrota.

Hay some files relativa a Wikcionario en Pywikipediabot y yo mirando el código, que tiene un aspecto como si debe ser capaz de conseguir que se analiza campos significado/definición para usted.

Sin embargo, la última media hora me ha convencido de lo contrario. El código no está bien escrito y me pregunto si alguna vez funcionó.

Así que diferiré a idealmachine's answer, pero pensé que publicaría esto para evitar que los demás cometieran los mismos errores. :)

0

MediaWiki tiene una API pero es de bajo nivel y no tiene soporte para nada específico de cada wiki. Por ejemplo, no tiene soporte de enciclopedia para Wikipedia ni soporte de diccionario para Wiktionary. Puede recuperar el marcado bruto de wikitext de una página o sección utilizando la API, pero tendrá que analizarlo usted mismo.

La primera advertencia es que cada Wiktionary ha desarrollado su propio formato, pero asumo que usted solo está interesado en Wiktionary English. Un truco barato que muchas herramientas usan es obtener la primera línea que comienza con el carácter '#'. Este suele ser el texto de la definición del primer sentido del primer homónimo.

Otra advertencia es que cada Wiktionary usa muchas plantillas de wiki así que si estás mirando el texto en bruto verás muchas de estas. La única forma de expandir de manera confiable estas plantillas es llamando a la API con action=parse.

Cuestiones relacionadas