Saltar para: Post [1], Pesquisa e Arquivos [2]

Bits & Bots

Robôs e pedaços de bits do planeta wikimédia e arredores.

Bits & Bots

Robôs e pedaços de bits do planeta wikimédia e arredores.

"Por Jnvalves (Obra do próprio) [CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0)], undefined" href="https://commons.wikimedia.org/wiki/File%3AO_Fanal%2C_Ilha_da_Madeira%2C_Portugal.jpg">

Tutorial de pywikipediabot - I

por Alchimista, em 19.09.12

Não há muitos developers de bots na pt.wp, na verdade, contam-se pelos dedos das mãos aqueles que criam regularmente scripts próprios. A verdade é que nunca houve um grupo activo dedicado ao pywp, contrariamente por exemplo, ao que acontece com os gadjects, ou scripts em javascript.

 

Com isso em mente, há há agum tempo que planeio criar um tutorial para que os primeiros passos sejam mais fáceis, pois a verdade é que não há propriamente um ponto de partida que contenha informação suficientemente desenvolvida para que possa ser um verdadeiro manual introdutório. Enquanto não arranjo tempo e vontade para escrever um manual explicativo e bem estruturado, espero ir colocando aqui informações avulsas que possam ajudar, e, quem sabe, no final compilar tudo num tutorial final, na wikipédia.

 

Pois bem, o primeiro exemplo de um script pywp terá como finalidade colocar um texto numa página da wikipédia. Estes primeiros passos vão ser explicados com mais detalhe, porque a verdade é que na esmagadora maioria dos meus scripts, o pywp ocupa apenas uma pequena parte, e é sensivelmente sempre a mesma, ou seja, para as tarefas do quotidiano, conhecer meia dúzia de classes e definições é quanto baste para criar scripts úteis no dia a dia wikipédico.

 

No script seguinte, vamos obter o texto de Wikipédia:Página de testes/4  e substitui-lo por "Olá Mundo! Isto é um teste de edição :D". Presume-se que tenham conhecimentos básicos de python, caso haja dificuldade em compreender algo, a secção de comentários está á disposição.

 

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
#       
#       (C) 2012 Alchimista <alchimistawp@gmail.com>
#         
#        Distributed under the terms of the GNU GPL license.

import sys, os

try:
	sys.path.append(os.environ['HOME'] + '/wp/bots/pywikipedia')
except:
	pass

''' 
 Primeiro importamos o módulo wikipedia, o qual nos trará as soluções mais básicas,
 e ao mesmo tempo grande parte das que normalmente são necessárias para interagir com
 o mediawiki. '''

import wikipedia

''' O primeiro passo antes de interagir com a API do mediawiki, é definir
qual o projecto/site com que estamos a lidar, para isso usamos:
'''
site= wikipedia.Site("pt", "wikipedia") # definimos que o site é a pt.wp

''' Agora, vamos estabelecer as definições de uma página, neste caso,
 a página de testes/4: '''

wpage = wikipedia.Page(site, u"wikipédia:Página de testes/4")

''' Agora que definimos a página, vamos obter o texto da página: '''
wpagetext = wpage.get()

print wpagetext # print ao conteúdo da página

''' Tendo o conteúdo, e ignorando-o por completo, vamos então substituir
 por um novo texto.
'''
newtext = u"Olá Mundo! Isto é um teste de edição :D" # definimos o novo texto

wikipedia.showDiff(wpagetext, newtext) # mostra o diferencial da edição sem salvar

Mais sobre mim

foto do autor

Arquivo

  1. 2017
  2. J
  3. F
  4. M
  5. A
  6. M
  7. J
  8. J
  9. A
  10. S
  11. O
  12. N
  13. D
  14. 2016
  15. J
  16. F
  17. M
  18. A
  19. M
  20. J
  21. J
  22. A
  23. S
  24. O
  25. N
  26. D
  27. 2015
  28. J
  29. F
  30. M
  31. A
  32. M
  33. J
  34. J
  35. A
  36. S
  37. O
  38. N
  39. D
  40. 2014
  41. J
  42. F
  43. M
  44. A
  45. M
  46. J
  47. J
  48. A
  49. S
  50. O
  51. N
  52. D
  53. 2013
  54. J
  55. F
  56. M
  57. A
  58. M
  59. J
  60. J
  61. A
  62. S
  63. O
  64. N
  65. D
  66. 2012
  67. J
  68. F
  69. M
  70. A
  71. M
  72. J
  73. J
  74. A
  75. S
  76. O
  77. N
  78. D
  79. 2011
  80. J
  81. F
  82. M
  83. A
  84. M
  85. J
  86. J
  87. A
  88. S
  89. O
  90. N
  91. D