fanfouer
Toujours dans les bonnes combines
Messages : 1 223 Inscrit le 04/01/05
Ville : annecy
Non connecté
|
|
Posté le 25 février 2005 - 22 h 23 m 59 s |
|
|
bonjours a tous!! je fait un base de données sur les DSLAM de free et j'ai pas du tout l'intension de l'alimenter a la main (car il y a 1500 DSLAM alors pour tout entrer a la main bonjours la pagaille!  ) et j'ai penser a recuperer les infos sur la page meme ou il y a ces infos (http://www.frimousse.org/dslam?vue=tout) pour les mettre dans la BDD.
est-ce possible? merci de me repondre!
|
|
| |
Message édité 1 fois, la dernière par fanfouer le 04 mars 2005 - 07 h 35. |
| |
-- // Observatoire ADSL by fanfouer // --
http://www.infos-reseaux.com
|
Woofy
Pour les bons tuyaux me demander
Messages : 26 577 Inscrit le 11/01/02
Ville : Lyon
Non connecté
|
|
Posté le 25 février 2005 - 22 h 50 m 52 s |
|
|
Salut!
Tu veut le faire juste une fois ou en automatique?
Si c'est juste une fois, ca doit surement etre possible en mettant tout dans un fichier texte (copier-coller), en lisant le fichier ligne par ligne, et pour chaque ligne, alors je ne sais pas s'il existe la fonction en php mais elle existe en perl, tu crée un tableau en découpant sur les espaces et après tu met a jour ta base de donnée en y inserant dans l'ordre souhaité chaque case du tableau récupéré).
Ca doit pas être trop dur a faire, et pas besoin de regexp!
|
|
| |
Totalement inutile, donc completement indispensable 
|
fanfouer
Toujours dans les bonnes combines
Messages : 1 223 Inscrit le 04/01/05
Ville : annecy
Non connecté
|
|
Posté le 25 février 2005 - 23 h 02 m 00 s |
|
|
oui efectivement on m'a parler de cette methode et je ne sais pas la mettre en oeuvre car je n'ai pas la synthaxe mais pour repondre a ta question c'est automatique, par exemple, leur BDD est suceptible d'etre mise a jour tous les jours alors la mienne pourrait etre mis a jours pendant la nuit.
|
|
| |
-- // Observatoire ADSL by fanfouer // --
http://www.infos-reseaux.com
|
Woofy
Pour les bons tuyaux me demander
Messages : 26 577 Inscrit le 11/01/02
Ville : Lyon
Non connecté
|
|
Posté le 25 février 2005 - 23 h 22 m 34 s |
|
|
ok, donc la ca deviens autre chose.
Il faut accéder a leur page (attention, informe toi peut-être sur les droits d'utilisation de leurs données) et récupérer les infos automatiquement.
Malheureusement, la je sais pas trop comment faire pour récupérer les infos d'une page web. Ca deviens plus dur la!
|
|
| |
Totalement inutile, donc completement indispensable 
|
tempo
Zen
Messages : 2 177 Inscrit le 14/09/02
Ville : Grenoble (SMH)
Non connecté
|
|
Posté le 26 février 2005 - 16 h 32 m 00 s |
|
|
hello,
c'est faisable avec un traitement en Perl, par exemple.
1/ recuperer le contenu de la page (en Perl: utiliser libwww ou - pour les non-puristes, via wget ou curl)
2/ "parser" le contenu pour determiner les lignes de données (elles commencent toutes par (en Perl: via une regexp de match)
3/ pour chaque ligne detectée comme "ligne de données", faire un peu de traitement (remplacer les tags HTML par des separateurs, par exemple) puis "splitter" les champs (tout ca avec des regexp de substitution - attention avec le HTML aux quantificateurs, eviter les "avides"- et un split)
4/ enfin, toujours pour chaque ligne "données", stocker les données dans ta DB(via DBI et le DBD adequat)
Après, plus qu'a faire un cron avec le script pour chargement quotidien
Bon, je dis avec Perl parce que ce language est idéal pour ce type de traitement, mais tout autre language qui gere les regexp est envisageable...
Il ne te reste plus qu'a mettre les mains dans le camboui pour developper !!!
|
|
| |
|
vale56
RAS LE BOL !!!
Messages : 17 322 Inscrit le 17/12/02
Ville : les eaux troubles de l' étang de rah
Non connecté
|
|
Posté le 26 février 2005 - 18 h 11 m 32 s |
|
|
|
|
|
| |
nouveaux inscrits vous êtes invités à visiter ce topic : http://forums.france-hardware.com/disc/gen/sujet-61650.html
|
bernie38
Waldorf (le pote à Statler)
Messages : 11 427 Inscrit le 28/08/03
Ville : Claix
Non connecté
|
|
Posté le 26 février 2005 - 18 h 18 m 03 s |
|
|
|
|
|
| |
La Montagne n'est pas dangereuse : on ne peut qu'y perdre la vie, tandis qu'en ville on devient bête et méchant
Voltaire
|
Woofy
Pour les bons tuyaux me demander
Messages : 26 577 Inscrit le 11/01/02
Ville : Lyon
Non connecté
|
|
Posté le 26 février 2005 - 21 h 18 m 52 s |
|
|
Le 26 février 2005 - 16 h 32, tempo a écrit :
Bon, je dis avec Perl parce que ce language est idéal pour ce type de traitement, mais tout autre language qui gere les regexp est envisageable...
Il ne te reste plus qu'a mettre les mains dans le camboui pour developper !!!
|
Je pensais a lui justement.
Tu pourrais en dire plus sur comment récupérer la page? Je sais pas faire!
Pis  au passage, ca fait plaisir de te voir!
|
|
| |
Totalement inutile, donc completement indispensable 
|
fanfouer
Toujours dans les bonnes combines
Messages : 1 223 Inscrit le 04/01/05
Ville : annecy
Non connecté
|
|
Posté le 26 février 2005 - 22 h 28 m 12 s |
|
|
effectivement ce serai sympas de donner un peu plus de precisions sur le langage pearl car, en plus, meme si le PHP ressemble au Pearl ce n'est pas la meme chose donc moi ce que je veux c'est du PHP bete et mechant  .
au passage, il a pas mal de jours, on m'a parlé de "fopen", "fgets" et "fclose" et je me demande si ca n'a pas un rapport?!
Bref, merci a tous ceux qui se penchent sur mes problemes!
|
|
| |
-- // Observatoire ADSL by fanfouer // --
http://www.infos-reseaux.com
|
tempo
Zen
Messages : 2 177 Inscrit le 14/09/02
Ville : Grenoble (SMH)
Non connecté
|
|
Posté le 27 février 2005 - 10 h 29 m 37 s |
|
|
bon, voici un (bon ?) debut en Perl...
pour Woofy: LWP="LibWww Perl". Dans les cas simple (comme celui-ci... un simple GET HTTP) => je suggère LWP::Simple
1. #!/usr/bin/perl -w
2.
3. use strict;
4. use LWP::Simple;
5.
6. # 1 - on recupere le contenu de la page dans une chaine
7. # fastoche, non, Woof ?
8. my $strHtmlPage=get("http://www.frimousse.org/dslam?vue=tout");
9.
10. # 2 - on convertit la page => liste (tableau) de lignes
11. # (pour faire un traitement ligne par ligne) => "split" sur fin de ligne
12. my @listeHtmlPage=split('\\n',$strHtmlPage);
13.
14. # 3 - traitement ligne par ligne
15. foreach my $ligne (@listeHtmlPage){
16.
17. # on vire le caractere de fin de ligne
18. chomp($ligne);
19.
20. # teste si c'est une ligne avec des données
21. # non ? ligne suivante...
22. next if ($ligne !~ m/^<tr><td><a href=/);
23.
24. # petit affichage de la ligne, pour permettre de verifier le traitement
25. # (a supprimer/commenter pour script definitif..)
26. printf("%s\\n",$ligne);
27.
28. # chaque cellule du tableau HTML (balise <td ...>=> donnée
29. # => on change pour utiliser un separateur plus facile a traiter ":"
30. # on remarque le modificateur "non avide" (?) apres le .*
31. $ligne =~ s/\s*<td.*?>/:/g;
32.
33. # on vire tous les autres tags HTML de la ligne
34. # egalement le modificateur "non avide" (?) apres le .*
35. $ligne =~ s/<.*?>//g;
36.
37. # encore quelques "espaces qui trainent... on les vire aussi
38. $ligne =~ s/\s*//g;
39.
40. # il ne reste plus qu'une ligne avec des données separées par ":"
41. printf("%s\n",$ligne);
42.
43. # on "split" enfin pour recuperer chaque données dans une variable
44. # (attention, il y a un ":" au debut de ligne => variable $null)
45. my ($null,$dslam,$repart,$ip,$groupe,$pool,$etat1,$etat2,$etat3,$etat4,$etat5)
=split(':',$ligne);
46.
47. # encore un petit affichage pour verification...
48. printf("DSLAM:\t%s\n",$dslam);
49. printf("Repart:\t%s\n",$repart);
50. printf("IP:\t%s\n",$ip);
51. printf("Groupe:\t%s\n",$groupe);
52. printf("Pool:\t%s\n",$pool);
53. printf("Etat 1:\t%s\n",$etat1);
54. printf("Etat 2:\t%s\n",$etat2);
55. printf("Etat 3:\t%s\n",$etat3);
56. printf("Etat 4:\t%s\n",$etat4);
57. printf("Etat 5:\t%s\n",$etat5);
58.
59. }
60.
pour la fin (j'arrive pas a passer le code en prevu dans la balise "code"... petit soucis avec 'editeur de post et Mozilla ??? corriger aussit les ":t" dans les printf, je voulais dire ":\t")
=======================
printf("Etat 4:\t%s\n",$etat4);
printf("Etat 5:\t%s\n",$etat5);
}
=======================
voila, apres ca y'a plus qu'a utiliser DBI/DBD pour enregistrer tout ca dans un SGBDR
on peut egalement penser splitter les pooles d'IP (separateur "," sur $pool)
Attention, j'ai pas mis de traitement d'erreur... (par exemple verifier si le retour du get HTTP est defini... )
Pour finir, je ne connais pas assez PHP pour faire un truc similaire... mais bon, Perl ca se trouve partout
|
|
| |
Message édité 2 fois, la dernière par tempo le 27 février 2005 - 11 h 05. |
| |
|
Woofy
Pour les bons tuyaux me demander
Messages : 26 577 Inscrit le 11/01/02
Ville : Lyon
Non connecté
|
|
Posté le 27 février 2005 - 11 h 01 m 34 s |
|
|
Bah ca c'est de l'explication! Merci beaucoup, je me coucherais vachement moins con ce soir!
|
|
| |
Totalement inutile, donc completement indispensable 
|
tempo
Zen
Messages : 2 177 Inscrit le 14/09/02
Ville : Grenoble (SMH)
Non connecté
|
|
Posté le 27 février 2005 - 11 h 08 m 41 s |
|
|
ouaips, j'ai edité mon poste parce qu'il y a des soucis avec les anti-slash... si vous faites un copier-coller, risque d'y avoir qq soucis. bah, z'etes assez grands pour voir qu'un "n" tout seul ça n'a pas beaucoup de sens, et vous pourrez corriger par vous meme
|
|
| |
|
Woofy
Pour les bons tuyaux me demander
Messages : 26 577 Inscrit le 11/01/02
Ville : Lyon
Non connecté
|
|
Posté le 27 février 2005 - 11 h 12 m 20 s |
|
|
Faut qu'Erel ameliore un peu beaucoup la balise code, mais je pense qu'il ne va plus toucher cette version du forum et se concentrer dans la V2.0.
|
|
| |
Totalement inutile, donc completement indispensable 
|
fanfouer
Toujours dans les bonnes combines
Messages : 1 223 Inscrit le 04/01/05
Ville : annecy
Non connecté
|
|
Posté le 27 février 2005 - 15 h 44 m 34 s |
|
|
ok merci tempo  !!! mais est-ce que je peu l'utiliser dans une page en PHP???
|
|
| |
Message édité 1 fois, la dernière par fanfouer le 27 février 2005 - 15 h 54. |
| |
-- // Observatoire ADSL by fanfouer // --
http://www.infos-reseaux.com
|
Woofy
Pour les bons tuyaux me demander
Messages : 26 577 Inscrit le 11/01/02
Ville : Lyon
Non connecté
|
|
Posté le 27 février 2005 - 15 h 52 m 58 s |
|
|
Non, il faut que tu utillise pour cela un script Perl. (c'est un fichier .pl)
Il faut que ton hebergeur accepte les CGI pour cela.
|
|
| |
Totalement inutile, donc completement indispensable 
|
fanfouer
Toujours dans les bonnes combines
Messages : 1 223 Inscrit le 04/01/05
Ville : annecy
Non connecté
|
|
Posté le 27 février 2005 - 15 h 56 m 01 s |
|
|
je ne sais pas... en tout cas c'est free mon hebergeur et son site et fait qu'avec ca (des fichiers .pl) pour verifier les mot de passe par exemple...
|
|
| |
-- // Observatoire ADSL by fanfouer // --
http://www.infos-reseaux.com
|
Woofy
Pour les bons tuyaux me demander
Messages : 26 577 Inscrit le 11/01/02
Ville : Lyon
Non connecté
|
|
Posté le 27 février 2005 - 16 h 00 m 49 s |
|
|
Ouaip, mais c'est pas dit qu'il acceptent les CGI.
Ben pour le savoir, tu fait un fichier tout simple, que tu appel avec une page html, avec l'extension .pl
et dedans tu met :
#!/usr/bin/perl -w
print "Hello World";
(y a pas plus simple pour un script perl).
S'il t'affiche Hello World, alors il accepte le perl.
Sinon, faudra que tu transpose en php, mais bon la tempo t'a file toute la methode!
|
|
| |
Totalement inutile, donc completement indispensable 
|
fanfouer
Toujours dans les bonnes combines
Messages : 1 223 Inscrit le 04/01/05
Ville : annecy
Non connecté
|
|
Posté le 27 février 2005 - 16 h 29 m 41 s |
|
|
aparement ya un probleme car lorsque j'appelle ma page a partir de la barre d'adressse il me met un petit symbole en haut a gauche composé d'un triangle, d'un carrée et d'un rond... est-ce bien normal tt cela?
|
|
| |
Message édité 1 fois, la dernière par fanfouer le 27 février 2005 - 16 h 30. |
| |
-- // Observatoire ADSL by fanfouer // --
http://www.infos-reseaux.com
|
Woofy
Pour les bons tuyaux me demander
Messages : 26 577 Inscrit le 11/01/02
Ville : Lyon
Non connecté
|
|
Posté le 27 février 2005 - 16 h 39 m 22 s |
|
|

Ton navigateur a des actions playstations?
Bon plus serieusement je sais pas, ptet qu'il n'accepte pas le perl! Pour le symbole, je sais pas du tout de quoi tu veut parler.
|
|
| |
Totalement inutile, donc completement indispensable 
|
fanfouer
Toujours dans les bonnes combines
Messages : 1 223 Inscrit le 04/01/05
Ville : annecy
Non connecté
|
|
Posté le 27 février 2005 - 16 h 45 m 49 s |
|
|
il peut ressembler a ca...  l'icon
et mon navigateur accepte forcement le perl car sinon je ne pourrait pas m'authentifier chez free...
|
|
| |
-- // Observatoire ADSL by fanfouer // --
http://www.infos-reseaux.com
|