logo Homepage
Pages: [1]
  Imprimer  
Auteur Fil de discussion: Récupérer des informations spécifiques sur 250 pages  (Lu 6673 fois)
The-Snake

Profil challenge

Classement : 9269/55106

Membre Junior
**
Hors ligne Hors ligne
Messages: 78


Voir le profil
« le: 14 Janvier 2006 à 11:27:15 »

Bonjour tout le monde !

Je ne suis pas grand programmeur, et je ne suis donc même pas capable de mettre en oeuvre mon plan, mais je voudrais bien apprendre à faire ça...
Etant chef de clan dans un jeu nommé Heroes' Chornicle, plus je recrute, plus j'ai de chance de tomber sur les perles avant les autres... alors je me suis dit dans ma petite tête "et si au lieu de m'éclater mes deux ptites mains à relever les noms, un programme irait relever lui-même les noms de tout les joueurs de certaines races et d'un certain niveau ?"

Hélàs, c'est bien au delà de mes capacités, mais je voudrais vous demander si vous pouviez me faire ce programme en me le détaillant, question que je voye comment quelque chose comme ça pourrait se faire.

En gros, il faudrait que le programme aille chercher dans l'adresse
http://heroesofwarcraft.nainwak.org/classement.php?page=###&rac=&ori=&user=
en remplaçant le ### par 1, puis 2, puis 3 jusqu'à 250, en effectuant sur toutes ces pages une analyse de chaque ligne, et en m'affichant (en les classant 10 par 10 et séparés par des points virgule) les noms des joueurs dont la colonne Race indique une image d'humain, d'elfe, de nain ou de gnome.

Valà valà...
Journalisée
Invit
Invité
« #1 le: 14 Janvier 2006 à 12:24:45 »

"Et si au lieu de m'embeter je le faisais faire par d'autres ?"

Dans l'idée le programme est pas super compliqué pour un programmeur émérite en PHP par exemple, ceci dit ça représente quelques lignes de code tout de même

J'aurais tendance à dire "tout travail mérite salaire" ou "si tu veux quelque bien, tire-le de toi même", mais ça n'engage que moi...

Sinon tu peux commencer à apprendre un langage de programmation, comme PHP par exemple, c'est sûr et certain que tu trouveras des gens pour t'aider en cas de pépin spécifique dans ton code

En somme - et c'est pas contre toi hein - faut pas confondre partage des connaissances et assistanat
Journalisée
The-Snake

Profil challenge

Classement : 9269/55106

Membre Junior
**
Hors ligne Hors ligne
Messages: 78


Voir le profil
« #2 le: 14 Janvier 2006 à 13:41:23 »

C'est vexant... j'apprend le PHP ...

C'est bien sur ce language que j'aurais voulu résoudre le problème... mais que veux-tu, je ne vois pas du tout qu'est-ce que je peu utiliser pour régler ça. Sans aucun doute je ne connais pas la fonction.
Ca dois se faire à coups de if et elseif, mais comment je tri les lignes hein ? Et surtout, COMMENT je fait pour aller chercher une information sur une page ? Dès que j'ai vu l'épreuve dans "éxploit" qui parlait d'aller chercher un chiffre sur une autre page et de le réenvoyer, j'ai tout de suite laisser tomber : comment pourrais-je faire ça, je n'ai aucune idée de quelles fonctions utiliser pour chercher une information sur une autre page.
Je ne sais pas comment aller sur une autre page. Je n'ai jamais compris comment ont faisait ça, et si personne ne m'aide c'est clair que je vais jamais le comprendre, puisque je serais incapable de rédiger un script sur le sujet pour me faire la main.
Mes exploits dans le domaines du PHP se limitent à echo, include, et deux trois trucs dans le gennre : j'ai une très mauvaise mémoire et je suis incapable de retenir ce qui est écrit dans mon ouvrage de PHP... je le lit, et dès que la page est tourné j'ai oublié et je ne comprend plus rien. Je relis... je retiens quelques minutes de plus, mais le lendemain j'ai déjà oublié.

Fut une époque ou j'aurais été tout à fait capable de faire du if et elseif, mais là j'ai tout oublié, je ne me souviens que de la façon de rediger avec
if(machin/truc/machin)
{
};
(et encore, je sais même pas si on met le point virgule ici... ni si il faut le mettre si on veux faire elseif juste après...)

Et ça me décourage de le relire, parce que je sais très bien que je finirais par oublier... qu'on m'explique comment on fait quelque chose, et je l'aurais oublié quelques minutes après. Qu'on me montre comment on le fait, et je m'en souviendrais pour la vie.

Alors par PITIÉ ='( expliquez-moi comment je fait pour aller chercher une information sur une autre page web !
Journalisée
Nebelmann

Profil challenge

Classement : 472/55106

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1357


Voir le profil
« #3 le: 14 Janvier 2006 à 14:24:19 »

www.php.net est ton ami...

pour récupérer les données d'une page web tu as des fonctions comme file() mais ce n'est pas la plus appropriée je pense...

sinon pour extraire les infos qui t'intéressent, je pense qu'une bonne expression régilère devrait aller, étant donné le schéma toujours identique :

Code:
		<tr>
<td align="center" class=content><center><b>2</b></center></td>
<td align="center" class=content><center>TTP</center></td>

<td align="center" class=content><center><A href="javascript:OuvrirPopup('perso/infos.php?joueur=Orgrim','','resizable=no,top=100, left=250, location=no,width=520,height=500,menubar=no,status=no,scrollbars=yes,menubar=no')">Orgrim</A></center></td>
<td align="center" class=content>5212 (32)</td>
<td align="center" class=content><center>equilibre</center></td>
<td align="center" class=content><img src="map/troll.jpg"></font></td>
</tr>
(ceci est un exemple de mise en forme des données d'un utilisateur, n'importe lequel)
Journalisée

-- Nebelmann -- Registered linux user #429186
«Si les lecteurs étaient des compilateurs, les posteurs feraient peut-être davantage attention à ce qu'ils écrivent...»
The-Snake

Profil challenge

Classement : 9269/55106

Membre Junior
**
Hors ligne Hors ligne
Messages: 78


Voir le profil
« #4 le: 14 Janvier 2006 à 14:42:45 »

Je comprend rien à PHP.NET ! (mais j'ai quand même trouvé la fonction file... mais je ne vois pas vraiment comment m'en servir pour séléctionner un endroit précis dans le script HTML ??)

Enfin... je vois en gros, mais pas suffisament...

Et... c'est quoi une expression régilère ?

Enfin donc en gros, faut que j'arrive à récupérer l'information qui est écrite là ou il y a "TTP", il faut que ce soit vide (je fait comment pour montrer que je veux qu'il n'y ait rien écrit ?), dans la cinquième ligne le Orgrim, dans la sixième uniquement le premier nombre, et dans la huitième le map/troll.jpg

Ce sont donc une suite de conditions, mais je ne vois pas comment dire "cette partie de la ligne uniquement" (d'autant plus que le premier chiffre du * ne contient pas toujours le même nombre de caractère, donc comment faire sur ce sujet ?)

Enfin... là je suis complétement dépassé...
Journalisée
Nebelmann

Profil challenge

Classement : 472/55106

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1357


Voir le profil
« #5 le: 14 Janvier 2006 à 15:04:24 »

excuse moi, je voulais dire "expression régulière" mais je sais pas encore écrire

bon effectivement avec file tu récupères toute la page, il te faut trier ensuite les infos que tu veux... Si j'ai bien compris, tu cherches les joueur n'appartenant à aucun clan pour leur demander d'intégrer le tien?

En fait une expression régulière va te permettre de chercher un "motif" dans une chaine de caractères, mais je sais pas trop utiliser ce genre de choses, faudrait que je me documente
Journalisée

-- Nebelmann -- Registered linux user #429186
«Si les lecteurs étaient des compilateurs, les posteurs feraient peut-être davantage attention à ce qu'ils écrivent...»
The-Snake

Profil challenge

Classement : 9269/55106

Membre Junior
**
Hors ligne Hors ligne
Messages: 78


Voir le profil
« #6 le: 15 Janvier 2006 à 12:33:20 »

Merci j'ai cherché avec mon "ami" google et j'ai trouvé de quoi me documenter sur les expressions régulière, et peut-être parvenir ainsi à mes fins ! Je fini de lire et j'aviserais.

EDIT : wé bon ben c'est pas très clair tout ça. Je vois, certes, comment ouvrir la page :

$classement1 = fopen("http://heroesofwarcraft.nainwak.org/classement.php?page=1&rac=&ori=&user=", "r");
$classement2 = fopen("http://heroesofwarcraft.nainwak.org/classement.php?page=2&rac=&ori=&user=", "r");
$classement3 = fopen("http://heroesofwarcraft.nainwak.org/classement.php?page=3&rac=&ori=&user=", "r");
ecaetera, ecaetera, ecaetera...
(ce qui impliquerais également de faire plusieurs fois la recherche, et de perdre pas mal de temps à demander d'ouvrir toutes ces pages... ya pas un moyen d'introduire du script dans l'adresse pour qu'il applique fopen sur page=1, page=2, page=2 [...] en même temps et qu'il affecte le résultat à la même variable ?)

Du reste je ne vois pas comment on fait une recherche dans la fonction.
Il faudrait donc que je trie tout ça en chaîne commençant donc par <tr> et finissant par </tr> ? Mais je ne vois pas comment lui demander de me faire ce trie. Et encore moins comment lui permettre de rechercher à l'intérieur de cette chaîne... pas mieux pour définir ou ce trouve chaque mot, puisque chaque information que je désire que le script me relève est toujours entouré des mêmes caractères, c'est à dire <td align="center" class=content><center> # </center></td>
Journalisée
mrud

Profil challenge

Classement : 18008/55106

Néophyte
*
Hors ligne Hors ligne
Messages: 5


Voir le profil
« #7 le: 02 Février 2006 à 04:36:27 »

salut, je suis tout nouveau et découvre le forum et ce thread!

je suis a la boure mais te conseil (et a tout ceux qui ont des soucis,) pour débuter dans la programmation le langage de "mirc" client irc pour windows qui a un langage de script avec une syntaxe ultra simple, des aides en français sur toutes les fonctions/racourcis/evenements/sockets/ ... et des tonnes de sources, tuto, pululent sur le net.
les socket très simple d'utilisation, et comme le langage de mirc est avant tout fait pour les chaines de caracteres, en quelques ligne de code on peut parser une page entière, avec l'utilisation des tokens! on peut stocker dans des variables globales et (ou) locales, des fichiers (.txt,.ini,...), et des hash table (pour le traitement d'une masse d'informations plus rapidement qu'avec les fichiers ou variables).
pour l'exemple ici il sufirait d'ouvrir un socket d'envoyer les requetes http pour récupérer les pages les traitant une par une grâce aux tokens et les autres merveilles $mid,$left,$right,$replace... mettre les resultats dans des hash table et quand toutes les pages sont passés, afficher en echo les resultats ou les ecrire dans un fichier!!! je recommande pour ce genre de choses l'utilisation du mirc scripting
un lien utile au cas où www.ircfr.com de codes-sources
Journalisée

L'imagination est plus importante que le savoir. (A.Einstein)
Pages: [1]
  Imprimer  
 
Aller à: