[pyar] Cliente básico para Ragnastats

Gustavo Campanelli gedece en gmail.com
Vie Dic 3 16:41:55 ART 2010


Estoy jugando Ragnarok Online en el servidor gratuito Valkirye del
proveedor legal del juego a nivel internacional, IRO. Este server está
atestado de bots, pero algunos de ellos hacen tareas muy interesantes.
Uno en particular recorre la ciudad de Prontera y sube los datos de
los mercaderes a la página de un sitio llamado Ragnastats.

Más allá de que la página provee acceso a información bastante
completa, accedí a server IRC para chatear con los creadores del
proyecto, para hacerles algunas consultas y pedirles permiso para
hacer un subproyecto. Con ustedes, entonces, el cliente básico para
averiguar precios promedio de objetos del juego en forma masiva
(aunque no rapidísima). Tiene una demora de un segundo entre consulta
y consulta puesta allí de común acuerdo con la gente del servidor,
para no bombardearlos con montones de consultas juntas.

Adjunto además el archivo .py y un archivo de texto con tres items de
prueba. Como verán, es un desarrollo muy simple y efectivo.

#!/usr/bin/python
import time
import urllib2

datafile = open('test.txt','r')
itemlist = datafile.readlines()
datafile.close
baseurl = 'http://ragnastats.com/gameaverage.php?q='


for item in itemlist:
	item = item.rstrip()
	item = item.replace(' ','%20')
	finalurl = baseurl + item
	webhandle = urllib2.urlopen(finalurl)
	price = webhandle.read()
	webhandle.close()
	print price
	time.sleep(1)


Esta versión solo imprime el precio, a partir de esto pueden hacer
cualquier cosa con eso, como guardarlo en un archivo junto con el
nombre del objeto buscado, o cosas similares.

Gedece
------------ próxima parte ------------
Sword [3]
Sword [4]
Yggdrasil Leaf
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: ragnatest.py
Type: application/octet-stream
Size: 415 bytes
Desc: no disponible
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20101203/4719c810/attachment.obj>


More information about the pyar mailing list