English French German Spanish Russian
New Ryzom API - App Web - Forum Communauté RyzomAccueilInvité

App Web


#136 [en] 

Anyone wrote Python or C code that uses GET for the XMLs?

There was py-ryzom-api for python, but its abandoned and no source in github anymore.

I have not heard of anyone doing it in C.



#137 [en] 

Thanks Karu.

#138 [en] 

In Python, requesting the xml from the server would be trivial with the "requests" library, then there are xml/html parsing libraries like BeautifulSoup + lxml.

What exactly are you trying to accomplish? :)


#139 [en] 

Right, I am not a py programmer so C or assembler would do better for me ;),... I would even take Fortran or Pascal.

I am trying to get all items and details in inventory for a toon, then massage it into something magical.

I have been able to get it using this:
import sys
import xml.etree.ElementTree as ET
import requests
RYZ_API_ENDPOINT = "http://api.ryzom.com/character.php"
ryz_api_key = "abracadabraverylongcodewithnumbersandlettersstuff"
RYZ_PARAMS = {'apikey': ryz_api_key}
r = requests.get(url = RYZ_API_ENDPOINT, params = RYZ_PARAMS)
print(r.status_code == requests.codes.ok)
ryz_toon = ET.parse(r.text)
for elem in ryz_toon.iter():
 print ("%s: '%s'\n\r", elem.tag, elem.text)
Just wondered if there is a better, or pre-made set of libs.

Ultimately, not much different in C either.  there are libraries to get a HTTP/S responses back, and also XML parsers.

Dernière édition par Nudge (il y a 4 mois).

#140 [en] 

I still prefer bs4, maybe it's because it was my first contact with html/xml parsers in Python. Also, it makes it easy to navigate the xml tree quite easily.

Here's a crude example that will print out all of a character's fames:

import sys
import requests
from bs4 import BeautifulSoup

url = "http://api.ryzom.com/character.php?apikey=xxxxxxxxxx"
r = requests.get(url)
data = r.text

soup = BeautifulSoup(data, 'xml')

#find all items
items = soup.find("fame").find_all()

for item in items:
print(item.name+" "+item.text+"\n")

But yes, ultimately not much different than your example.

Edité 2 fois | Dernière édition par Laoviel (il y a 4 mois).


Last visit sam. 23 mars 2019 09:12:47 UTC UTC

powered by ryzom-api