! Discord officiel du serveur !
>>> https://discord.gg/MZYyYxd <<<

Quelques ressources pour T4C (Dev?)

Les joueurs peuvent discuter ici de tout ce qui concerne T4C Neerya.
Vernom
Messages : 149
Inscription : 24 janv. 2013, 19:28

12 août 2013, 10:32

Bonjour,

Le serveur n'étant pas accessible, j'en profite pour mettre a disposition quelques ressources pour T4C.

Pour la première partie, je vais mettre a disposition au format JSON (http://fr.wikipedia.org/wiki/JavaScript_Object_Notation) les informations issues du site http://t4c.jeuxonline.info

La partie Neerya sera faite après, celle-ci étant principalement sur un Wiki et non formalisé, il est plus difficile a automatiser.

Liste des sorts Vanilla : http://paulska.info/t4c_neerya/ressourc ... nilla.json
Liste des arcs Vanilla : http://paulska.info/t4c_neerya/ressourc ... nilla.json
Liste des armes corps-a-corps : http://paulska.info/t4c_neerya/ressourc ... nilla.json
Liste des armures complètes : http://paulska.info/t4c_neerya/ressourc ... nilla.json

Le reste est en cours, ça ne devrait plus tarder pour la partie.

Ps : Pour info et pour les curieux, j'utilise Python et Selenium, voici un exemple de script http://paulska.info/t4c_neerya/ressources/Selenium1.py
Dernière édition par Vernom le 13 août 2013, 13:18, édité 1 fois.
Vernom/Garsh/Krakor/Grashnak
Melancthe
Messages : 20
Inscription : 10 août 2013, 19:20

13 août 2013, 12:00

Bonjour,

J'etais curieux mais le lien de ton script en fonctionne pas, j'utilise Python mais je vais regarder ce qu'est Selenium,
Je ne m'y connais pas trop en parser, mais je semble que ce soit ce que tu fais non ?
En tout cas ça peut être utile :)

Marchi
Vernom
Messages : 149
Inscription : 24 janv. 2013, 19:28

13 août 2013, 13:07

Bonjour,

Ci-joint le bout de code qui fonctionne (attention c'est fait rapidement)

Code : Tout sélectionner

# -*- coding: utf-8 -*-
#Import
from selenium import webdriver
import json

#Init the Webdriver
driver = webdriver.Firefox()

#Get url
driver.get("http://t4c.jeuxonline.info/?include=sorts")

spellList = []

#Find all table elements, parse only the 2nd ([1]) and all tr elements for this table
oTable = driver.find_elements_by_tag_name("table")[1].find_elements_by_tag_name("tr")

#Loop
for elements in oTable[2:]:
    oSpell = elements.find_elements_by_tag_name("td")
    spell = {
                "name" : oSpell[0].text,
                "level" : oSpell[1].text, 
                "wis" : oSpell[2].text, 
                "int" : oSpell[3].text, 
                "mana" : oSpell[4].text, 
                "requiert" : oSpell[5].text, 
                "pts" : oSpell[6].text, 
                "price" : oSpell[7].text, 
                "loc" : oSpell[8].text
            }
    spellList.append(spell)

#Open file 
f = open("/tmp/spellVanilla.json", "wb")

#Dump
json.dump(spellList, f)

#Close
f.close()
Selenium est un outil permettant d'intéragir avec le navigateur Web (il en existe d'autres comme par exemple PhantomJS, CasperJS, ...).
Grosso modo, tu peux cliquer sur des liens, compléter des formulaires, etc ... via un langage de programmation (ce qui te permet de garder le workflow du site).

Effectivement, je parse la page HTML, mais d'une manière différente (on utilise plutôt des expressions régulières) et je récupère les informations dont j'ai besoin.
Vernom/Garsh/Krakor/Grashnak
Répondre