Mwparserfromhell.

Um analisador para o Wikicode MediaWiki
Baixe Agora

Mwparserfromhell. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • MIT/X Consortium Lic...
  • Preço:
  • FREE
  • Nome do editor:
  • Ben Kurtovic
  • Site do editor:
  • https://github.com/earwig/

Mwparserfromhell. Tag


Mwparserfromhell. Descrição

O MwParserFromhell é um pacote Python que fornece um analisador fácil de usar e escandalosamente poderoso para o Wikicode MediaWiki. Ele suporta Python 2 e Python 3.Developed pela Earwig com a ajuda de .installationA maneira mais fácil de instalar o analisador é através do índice Python Package, para que você possa instalar o mais recente lançamento com PIP INSTALAR MWPARSERFROMHELL (Get Pip). Alternativamente, obtenha a última versão de desenvolvimento: Git Clone Git: //github.com/earwig/mwparserfromhell.gitcd mwparserfromhellpython setup.py instantousou pode executar o conjunto de testes unitários abrangentes com o Python Setup.py test.Usagenormal Uso é bastante simples (onde o texto é o texto da página): >>> importar mwparserfromhell >>> wikicode = mwparserfromhell.parse (texto) wikicode é um objeto mwparserfromhell.wikicode.wikicode, que age como um objeto unicode comum (ou str no python 3) com alguns métodos extras. Por exemplo: >>> texto = "Eu tenho um modelo! {{Foo | bar | BAZ | ovos = spam}} Veja?" >>> wikicode = mwparserfromhell.parse (texto) >>> Imprimir wikicodei tem um modelo ! {{foo | bar | BAZ | ovos = spam}} vê-lo? >>> modelos = wikicode.filter_templates () >>> modelos de impressão >> > Modelo = Modelos >>> Modelo de impressão.Namefoo >>> Modelo de impressão.Params >>> Modelo de impressão.Get (1) .valuebar >> > Imprimir Template.Get ("Ovos"). ValoresPamsince Cada nó que você alcança também é um objeto Wikicode, é trivial para obter modelos aninhados: >>> código = mwparserfromhell.parse ("{{{foo | isso {{{goo | }}}} ") >>> Imprimir Código.Filter_Templates () >>> foo = code.filter_templates () >>> >>> Imprimir foo.get (1) .valuethis {{Inclui um modelo}} >>> imprimir foo.get (1) .value.filter_templates () {{Inclui um modelo}} >>> Imprimir FOO. Obtenha (1) .value.filter_templates () .GET (1) .Valuetemplateaditionally, você pode incluir modelos aninhados em filtro_templates () passando recursivo = true: >>> text = "{{foo | {{} } = {{baz | {{spam}}}}}}}}}}}}}}}} ">>> mwparserfromhell.parse (texto) .Filter_Templates (recursivo = true) Os modelos podem ser facilmente modificados para adicionar, remover, alterar ou params. O Wikicode também pode ser tratado como uma lista com anexação (), inserir (), remover (), substituir (), e mais: >>> text = "{{cleanup}} '' '' 'FOO' '' Bar]]]. {{Uncategorized}} ">>> Código = mwparserfromhell.parse (texto) >>> para molde em código.filter_templates (): ... se template.name ==" Cleanup "e não template.Has_param ("Data"): ... Template.add ("Data", "Julho 2012") ... >>> Código de impressão {{limpeza | data = julho de 2012}} '' Foo '' 'é um ]. {{Uncategorized}} >>> code.replace ("{{Uncategorized}}}}}}}}", "{{bar-stub}}") >>> Código de impressão {{Cleanup | data = julho de 2012}} '' foo ' '' é um ]. {{Bar-Stub}} >>> Imprimir Código.Filter_Templates () Você pode então converter o código de volta em um Unicode regular Objeto (para salvar a página!) Chamando Unicode () Nele: >>> Text = Unicode (código) >>> Imprimir Texto {{Cleanup | data = julho de 2012}} '' Foo '' '' ]. {{bar-stub}} >>> Texto == Codetuelwise, use str (código) no Python 3.IntegrationMwparserFromhell é usado por e originalmente desenvolvido para Earwigbot; Objetos de página têm um método de parse que essencialmente chama mwparserfromhell.parse () na página.Get (). Se você estiver usando Pywikipedia, seu código pode se parecer com isso: Importar Wikipédia MWParserfromhellimport como Pywikibotdef Parse (título): site = pywikibot.get_site () página = pywikibot.page (site, title) text = page.get () return mwparserfromhell.parse (texto) Se você não estiver usando uma biblioteca, você pode analisar modelos em qualquer página usando o seguinte código (através da API ): Importar jsonimport urllibimport mwparserfromhellapi_url = "http://en.wikipedia.org/w/api.php"daf anal (título): Raw = urllib.urlopen (API_URL, DADOS) .READ () res = JSON.LOADS ( RAW) texto = res . Valores () Retornam a página inicial do produto MWParserFromhell.Parse (Text)


Mwparserfromhell. Software Relacionado