Page 1 sur 1

Quelques ressources pour T4C (Dev?)

Publié : 12 août 2013, 10:32
par Vernom
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

Re: Quelques ressources pour T4C (Dev?)

Publié : 13 août 2013, 12:00
par Melancthe
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

Re: Quelques ressources pour T4C (Dev?)

Publié : 13 août 2013, 13:07
par Vernom
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.