Wikipédia:Como criar um robô
Robôs![]() |
---|
![]() | Esta é uma página informativa. Ela descreve a prática estabelecida da comunidade sobre algum ou mais aspetos das normas e costumes da Wikipédia e que foram considerados consensuais pela comunidade. Prefira utilizar a página de discussão ou até mesmo a esplanada antes de fazer uma modificação que altere o contexto. |
Os Robôs são ferramentas automáticas e gerenciáveis que operam na Wikipédia para facilitar a execução de edições repetitivas e em série. Entretanto, não são precisamente robôs, que fazem tudo sozinhos, e sim são agentes de manipulação de artigos, que obedecem a instruções claras e precisas do programador responsável por ele.
Avaliação da necessidade
[editar código-fonte]O primeiro passo na criação de um bot é a avaliação da sua necessidade. Os bots podem executar tarefas repetitivas muito mais rápido do que editores humanos, mas a sua capacidade de avaliação é extremamente inferior, sendo por isso utilizados nas tarefas repetitivas com elevado grau de fiabilidade, ao passo que as mais susceptíveis de causarem erro são efectuadas preferencialmente por semi-bots. Outro aspecto a ter em conta são os recursos que consomem. O software mediawiki possui uma API entre outros recursos, que deve ser usada sempre que possível, mas mesmo assim os pedidos ao sistema devem ser economizados, pois são inúmeros os bots que operam em simultâneo.
Como funciona um bot
[editar código-fonte]Da mesma forma que um editor humano, um bot da Wikipédia lê as páginas ou a informação fornecida pela Wikipédia, e efectua nas páginas as alterações para as quais está programado. A grande diferença é que apesar de serem mais rápidos do que os humanos e estarem menos sujeitos à fadiga, a sua capacidade de tomar decisões e verificar o que deve ou não ser alterado é bastante diminuta quando comparados com os humanos. Assim, são bons para tarefas repetitivas, normalmente assentes em padrões específicos onde a análise necessária para tomar a decisão acertada é de baixa complexidade.
Os bots na maioria das vezes faz a autenticação na sua conta e solicita as informações da página de forma muito similar aos humanos quando abrem uma página no navegador, contudo não necessita de ver a informação na sua forma gráfica, como num navegador, mas armazena na sua memória interna, examinando de seguida as informações de acordo com o código do script, detectando as alterações que devem ser efectuadas de acordo com o script, e procedendo à modificação do artigo quando deve ser efectuado.
Como os bots interagem com as páginas de uma forma similar aos editores humanos, podem igualmente encontrar alguns dos problemas mais frequentes com que nos deparamos. Eles também podem ficar presos em conflitos de edição, sofrer perdas de sessão enquanto processam as informações entre outras complicações. Como o volume de trabalho que um bot normalmente efectua, estes problemas são mais frequentes, e, por essa mesma razão, devem ser considerados no processo de programação de um bot.
Linguagens de programação e bibliotecas
[editar código-fonte]Os bots podem ser escritos em qualquer linguagem de programação. A escolha de uma língua depende muitas vezes da experiência do operador e criador do bot (qual linguagem lhe é mais familiar ou qual a biblioteca mais desenvolvida para criar a tarefa pretendida). A seguinte lista inclui alguns idiomas que possuem bibliotecas para ajudar com tarefas bot.
Python
[editar código-fonte]Grande parte dos bots que operam na Wikipédia lusófona são criados em Python, principalmente usando o Pywikibot. Além deste, também é usado o AWB, uma das ferramentas mais usadas na criação de bots, provavelmente o que mais scripts padrão tem disponível no universo da Wikimedia.
Primeiros passos com Python:
- Wikilivro sobre Python
- Guia para iniciantes na programação com Python (em inglês)
- Usando o python wikipediabot (em inglês)
Bibliotecas:
- Wikipédia:Pywikibot - Python Wikipedia Robot Framework (documentação oficial)
- wikitools - um framework mais leve que usa a API da MediaWiki exclusivamente para a obtenção de dados e edição
- mwclient - um framework baseado na API da MediaWiki
Microsoft .NET
[editar código-fonte]O Microsoft .NET é um conjunto de linguagens, incluindo C#, C++ / CLI, Visual Basic .NET, J#, JScript .NET, IronPython e Windows PowerShell. Sendo a plataforma de desenvolvimento livre Microsoft Visual Studio. NET frequentemente utilizada. Usando o Mono Project .NET é igualmente possível executar programas em Linux, Unix, BSD, Solaris e Mac OS X, assim como no Windows.
Tutoriais e ajuda:
Bibliotecas:
- DotNetWikiBot Framework -uma cliente-API , que permite construir programas e robôs web para páginas que usem o MediaWiki, disponível em vários idiomas.
- WikiFunctions .NET library -- Pacote integrado no AWB, é uma biblioteca com material útil para bots, como a geração de listas, carregar / editar artigos, ligação ao canal IRC de mr's entre outras funcionalidades.
Java
[editar código-fonte]Os programas em Java são geralmente desenvolvidos com uma IDE, como Eclipse, o desenvolvimento em linhas de comando da consola (com o javac e programas java) também é uma opção.
Primeiros passos:
Bibliotecas:
Ruby
[editar código-fonte]Bibliotecas:
- RWikiBot é um framework Ruby para bots. Atualmente, está em desenvolvimento e à procura de novos colaboradores. Usa a API oficial do MediaWiki e, como tal, é limitada em determinadas capacidades.
Ver também
[editar código-fonte]