Salut à tous
Pour un petit projet personnel, j'aurais besoin de récupérer en PHP les dix prix les plus bas pour un objet sur le Steam Marketplace. Pour faire simple, prenons cet objet :
http://tellu.re/QlKMVj (j'ai raccourci le lien parce qu'autrement il est un peu long ^^)
j'aimerais pouvoir avec mon script PHP étudier les variations de son prix au cours du temps. J'utilise donc ce petit script :
Jusque là rien de bien compliqué, j'obtiens un tableau avec dix éléments :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $doc = new DOMDocument(); $doc->loadHTMLFile($_POST['url']); //l'utilisateur entre l'URL de l'objet qui l'intéresse, et je récupère cette URL et je l'utilise ici $xpath = new DOMXpath($doc); $elements = $xpath->query('//span[@class="market_listing_price market_listing_price_with_fee"]'); //je récupère les dix prix de la page qui ont la classe market_listing_price market_listing_price_with_fee
Mais j'ai maintenant un problème plus important qui se présente. En effet, le Steam Marketplace utilisera, si vous n'êtes pas connecté, les devises des vendeurs pour afficher le prix. Donc je peux me retrouver avec des prix avec des devises du monde entier, et donc je peux pas les classer "bêtement" ; il me faut les convertir. Cependant si l'on se connecte sur Steam, le Marketplace affiche cette fois les prix dans la devise de l'utilisateur connecté (dans mon cas l'euro évidemment). Voilà donc ma question : comment résoudre ce problème ? Convertir les devises me semble un peu ardu puisque ça demande d'avoir les valeurs en bourse et qu'en plus ça demande d'analyser chaque prix et de reconnaître la devise... pas pratique. Donc est ce que je pourrais tout simplement utiliser les cookies de mon navigateur dans mon script pour que les prix s'affichent en euros, et si oui comment faire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $tableauPrix = array(10); for ($i = 0; $i < $elements->length; $i++) { $tableauPrix[$i] = $elements->item($i)->nodeValue; //je remplis un tableau pour que ce soit plus propre à manipuler après }
Merci d'avance
Thomas
-
Partager