Mwparserfromhell

Un analizador para MediaWiki Wikicode
Descargar ahora

Mwparserfromhell Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • MIT/X Consortium Lic...
  • Precio:
  • FREE
  • Nombre del editor:
  • Ben Kurtovic
  • Sitio web del editor:
  • https://github.com/earwig/

Mwparserfromhell Etiquetas


Mwparserfromhell Descripción

MWPARSERFROMHELL es un paquete de Python que proporciona un analizador fácil de usar y escandalosamente poderoso para MediaWiki Wikicode. Admite Python 2 y Python 3.de desarrollado por Earwig con ayuda de Σ.installación La forma más fácil de instalar el analizador es a través del índice de paquetes de Python, por lo que puede instalar la última versión con PIP Instale MWPARSERFROMHELL (Obtenga PIP). Alternativamente, obtenga la última versión de desarrollo: git clone git: //github.com/earwig/mwparserfromhell.gitcd mwparserfromhellpython setup.py Instilou puede ejecutar el conjunto de pruebas de unidad integral con la prueba de Python Setup.py Test.Usagenormal El uso es bastante sencillo (donde el texto es el texto de la página): >>> Importar mwparserfromhell >>> wikicode = mwparserfromhell.parse (texto) Wikicode es un objeto MWParserfromHell.Wikicode.wikicode, que actúa como un objeto de Unicode ordinario (o STR en Python 3) con algunos métodos adicionales. Por ejemplo: >>> Text = "Tengo una plantilla! {{Foo | bar | baz | huevos = spam}}. ¿Ves?" >>> Wikicode = mwparserfromhell.Parse (Texto) >>> Imprimir Wikicodei tiene una plantilla ! {{foo | bar | baz | huevos = spam}}. ¿Ves? >>> plantillas = wikicode.filter_templates () >>> plantillas de impresión >> > plantilla = plantillas = plantillas >>> plantilla de impresión.namefoo >>> plantilla de impresión.Params >>> PRINT TEMPLA.GET (1) .VALUEBAR >> > Print Template.get ("Huevos"). ValoresPamsINE Cada nodo que alcanza es también un objeto Wikicode, es trivial para obtener plantillas anidadas: >>> Code = MWPARSERFROMHELL.PARSE ("{{foo | esta {{incluye una plantilla }}}} ") >>> Code Code.filter_templates () >>> foo = code.filter_templates () >>> imprimir foo.get (1) .valuethis {{incluye una plantilla}} >>> imprimir foo.get (1) .value.filter_templates () {{incluye una plantilla}} >>> imprimir foo. Obtenga (1) .value.filter_templates () .get (1) .valueteemplateadiacidentalmente, puede incluir plantillas anidadas en filter_templates () pasando recursive = true: >>> text = "{{foo | {{bar} } = {{baz | {{spam}}}}}} ">>> mwparserfromhell.parse (texto) .filter_templates (recursive = recursive =) Las plantillas pueden modificarse fácilmente para agregar, eliminar, alterar o params. Wikicode también se puede tratar como una lista con agregar (), insertar (), eliminar (), reemplazar () y más: >>> texto = "{{limpieza}} '' 'foo' '' es un ]. {{Uncategorized}} ">>> código = mwparserfromhell.Parse (Texto) >>> Para la plantilla en Code.Filter_Templates (): ... si es plantilla.name ==" limpieza "y no plantilla.has_param ("Fecha"): ... Plantilla.add ("Fecha", "Julio de 2012") ... >>> Código de impresión {{Limpieza | Fecha = julio de 2012}} '' 'foo' '' es un ]. {{udecategorized}} >>> code.replace ("{{{{{{{}}", "{{bar-stub}}") >>> código de impresión {{limpieza | fecha = julio de 2012}} '' 'foo' '' es una ]. {{bar-stub}} >>> imprimir código.filter_templates () Puede convertir el código de nuevo en un Unicode regular Objeto (¡Para guardar la página!) Llamando a Unicode () en él: >>> Text = Unicode (código) >>> Imprimir texto {{Cleanup | Fecha = julio de 2012}} '' 'foo' '' es un ]. {{BAR-STUB}} >>> Text == Codetruelikewise, use STR (código) en Python 3.integrationMwparserfromHell y se desarrolla originalmente para Earwigbot; Los objetos de página tienen un método de análisis que, esencialmente, llama a MWPARSERFROMHELL.PARSE () en la página. En la página. Si está utilizando Pywikipedia, su código puede verse así: Importar MWPARSERFROMHELLIMPORT WIKIPEDIA COMO PIOWIKIBOTDEF PARE (Título): Sitio = Pywikibot.get_site () Página = PYWIKIBOT.PAGE (Sitio, Título) Text = Página.get () Devuelve MWPARSERFROMHELL.PARSE (texto) Si no está utilizando una biblioteca, puede analizar las plantillas en cualquier página usando el siguiente código (a través de la API ): Importar jsonimport urllibimport mwparserfromhellapi_url = "http://en.wikipedia.org/w/api.php"def anal (título): RAW = URLLIB.URLOPEN (API_URL, DATOS) .Read () RES = JSON.loads ( RAW) Texto = res . Valores () Regrese MWPARSERFROMHELL.PARSE (texto) Página de inicio del producto


Mwparserfromhell Software relacionado

localtodo

ARCHIVOS DE LOCAL DE LOCALES DE ITCTIGNORE, pero sincronizarlos a través de Dropbox ...

51

Descargar