Manual:Pywikibot/Crie seu próprio script

From mediawiki.org
This page is a translated version of the page Manual:Pywikibot/Create your own script and the translation is 87% complete.

Esta página lista algumas dicas muito básicas para começar a escrever seu próprio bot. Certifique-se de configurar seu arquivo user-config.py !

Você pode usar os seguintes comandos em um shell ou em um script.

Para abrir um shell, execute python pwb.py shell

Como um script, salve o arquivo como myscript.py no diretório scripts/userscripts/, então execute python pwb.py myscript.

  • Para obter acesso à biblioteca pywikibot do seu script Python, use:
import pywikibot

para recuperar uma página, use o seguinte, onde pageName é o título da página que você deseja recuperar, por exemplo, Wikipedia: Bots ou India:

site = pywikibot.Site()
page = pywikibot.Page(site, "pageName")
text = page.text
  • para atualizar uma página, use:
page.text = "newText"
page.save("Edit comment")
  • veja alguns dos arquivos pywikibot para outras idéias - scripts/basic.py é relativamente fácil de ler mesmo se você é novo no pywikibot.
  • você pode encontrar todos os métodos de página disponíveis no arquivo pywikibot/page.py.
  • basic.py dá-lhe uma configuração que pode ser usada para muitos bots diferentes, tudo o que você precisa fazer é definir a edição de seqüência no texto da página.
  • Para iterate em um conjunto de páginas, veja pywikibot/pagegenerators.py (Veja também documentação antiga) para alguns objetos que retornam um conjunto de páginas. Um exemplo de uso do CategoryPageGenerator que faz algo para cada página na categoria Categoria:Pessoas vivas:
import pywikibot
from pywikibot import pagegenerators
site = pywikibot.Site()
cat = pywikibot.Category(site,'Category:Living people')
gen = pagegenerators.CategorizedPageGenerator(cat)
for page in gen:
    #Do something with the page object, for example:
    text = page.text

Ver também


Se você precisar de mais ajuda na configuração do seu Pywikibot, visite o canal #pywikibot IRC connect ou pywikibot@ lista de discussão.