Mwparserfromhell.

Un parser per MediaWiki Wikicode
Scarica ora

Mwparserfromhell. Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • MIT/X Consortium Lic...
  • Prezzo:
  • FREE
  • Nome editore:
  • Ben Kurtovic
  • Sito web dell'editore:
  • https://github.com/earwig/

Mwparserfromhell. Tag


Mwparserfromhell. Descrizione

MWParserFromhell è un pacchetto Python che fornisce un parser facile da usare e oltraggiosamente potente per Wikicode MediaWiki. Supporta Python 2 e Python 3.Deverito da Earwig con Guida di .Installazione il modo più semplice per installare il parser è attraverso l'indice del pacchetto Python, in modo da poter installare l'ultima versione con PIP Installa MWParserFromHell (Get PIP). In alternativa, ottenere la versione di sviluppo più recente: Git clone git: //github.com/earwig/mwparserfromhell.gitcd mwparserfromhellpython setup.pySpylyou può eseguire la suite di test di unità completa con Python Setup.py Test.USAgenormal è piuttosto semplice (dove il testo È il testo della pagina): >>> Importa MWParserFromHell >>> Wikicode = MWParserFromhell.Parse (Testo) Wikicode è un oggetto MWParserFromhell.Wikicode.Wikicode, che agisce come un normale oggetto Unicode (o STR in Python 3) con alcuni metodi extra. Ad esempio: >>> Text = "Ho un modello! {{Foo | bar | baz | uova = spam}} Vedi?" >>> wikicode = mwparserfromhell.parrse (testo) >>> Stampa wikicodei ha un modello ! {{foo | bar | baz | uova = spam}} Vedi? >>> Templates = wikicode.filter_Templates () >>> Modelli di stampa >> > Template = Templates >>> Template TEMPLATE.NAMEFOO >>> Template.Params >>> stampa modello.get (1) .Valuebar >> > Stampa modello.Get ("Uova"). Valutaspamsince ogni nodo che si raggiunge è anche un oggetto wikicode, è banale ottenere modelli nidificati: >>> codice = mwparserfromhell.parrse ("{{foo | Questo {{include un | modello }}}} ") >>> Print code.filter_Templates () >>> foo = code.filter_Templates (0] >>> stampa foo.get (1) .Valuethis {{include un modello |}} >>> stampa foo.get (1) .Value.filter_Templates () {{include un | modello}} >>> Stampa foo. Get (1) .Value.Filter_Templates () .... .ValueTemplateDitionalmente, è possibile includere modelli nidificati in Filter_Templates () passando Recursivo = true: >>> Text = "{{foo | {{bar} } = {{baz | {{spam}}}}}}}}}} ">>> MWParserFromHell.PARESE (testo) .Filter_Templates (Recursive = true) i modelli possono essere facilmente modificati per aggiungere, rimuovere, modificare o parametri. Wikicode può anche essere trattato come un elenco con append (), inserimento (), rimuovi (), sostituire () e altro: >>> Text = "{{cleanup}} '' 'foo' 'è A . {{non categorizzato}} ">>> codice = mwparserfromhell.parrse (testo) >>> per modello in codice.Filter_Templates (): ... se template.name ==" pulizia "e non modello.Has_param ("Data"): ... Template.add ("Data", "Luglio 2012") ... >>> Code di stampa {{cleanup | data = luglio 2012}} '' '"foo' 'è un ]. {{non categorizzato}} >>> codice.replace ("{{non categorizzato}}", "{{bar-stub}}") >>> codice di stampa {{cleanup | data = luglio 2012}} '' '' foo ' '' è un ]. {{bar-stub}} >>> Print code.Filter_Templates () È quindi possibile convertire il codice in un unicode normale Oggetto (per il salvataggio della pagina!) Chiamando Unicode () su di esso: >>> Text = Unicode (codice) >>> Testo di stampa {{cleanup | data = luglio 2012}} '' 'foo' 'è un ]. {{bar-stub}} >>> Text == codetruelIkeWise, utilizzare STR (codice) in Python 3.uegrationMWParserFromHell è utilizzato e originariamente sviluppato per Earwigbot; Gli oggetti della pagina hanno un metodo Parse che indispensa essenzialmente mwparserfromhell.parrse () su pagina.get (). Se stai usando Pywikipedia, il tuo codice potrebbe sembrare così: import mwparserfromhellimport wikipedia come pywikibotdef parse (titolo): sito = pywikibot.get_site () Page = Pywikibot.page (sito, titolo) Testo = Pagina.get () Ritorna MWParserFromHell.PARESE (testo) Se non si utilizza una libreria, è possibile analizzare modelli in qualsiasi pagina utilizzando il seguente codice (tramite l'API ): importazione jsonimport urllibimport mwparserfromhellapi_url = "http://en.wikipedia.org/w/api.php"def parse (titolo): raw = urllib.urlopen (Api_url, dati) .lead () res = json.loads ( RAW) Text = Res . Valori () Return MWParserFromHell.PARSE (testo) Homepage del prodotto


Mwparserfromhell. Software correlato