| |||||
| Dernière réponse | |
|---|---|
| Sujet : lire une page HTML en PERL | |
| stef_dobermann | la aucune idée en ce qui concerne les pb de proxy
je sais juste que le bout de code que je t'ai donnée fonctionne nikel sous Windows 98 ou Linux, et je l'utilise pour des appli perso (apres amélioration bien sur :D) |
| Aperçu |
|---|
| Vue Rapide de la discussion |
|---|
| stef_dobermann | la aucune idée en ce qui concerne les pb de proxy
je sais juste que le bout de code que je t'ai donnée fonctionne nikel sous Windows 98 ou Linux, et je l'utilise pour des appli perso (apres amélioration bien sur :D) |
| chicha | en fait non, ca ne marche toujours pas mais je crois avoir une idee... c'est peut-etre a cause du proxy au taf, non ? Et je fais comment dans ce cas ? Car j'ai teste mes scripts sur le serveur en local (sur http://www/ correspondant à l'intranet) et ca marche tankil. Par contre sur http//www.yyy.com/" j'ai une page vide en retour. Un de mes scripts me renvoie meme dans ce cas, "connection time out... http//www.yyy.com:80"
Une idee la dessus ? |
| stef_dobermann | ca devrait te suffir pour commencer :
use LWP::Simple; $page = get("http://www.xxx.com/myfile.html" ) sinon ici : c bien aussi http://aspn.activestate.com/ASPN/P [...] imple.html ou ya www.CPAN.org |
| deepcore |
|
| chicha | excuz g craque.
c t pas ma question ! en fait je ne comprend pas pourquoi on a document.pl dand l' url, alors que c un .html que je veux recuperer ? Merci pour ton aide :) |
| deepcore |
|
| chicha | Deepcore, j'ai pas l'impression que ton prog liste bien les liens d'une page html referencee par son url... Je dis ca a cause du .pl dans le chemin de l'url.
De plus, mon pb vient p-e des proxy a mon taf ? Comment passer outre le cas echeant ? Le get me renvoie tjs une erreur de subroutine non definie malgre le use LWP (); A l'aide ! Sinon je vais etre vire ;) ! |
| chicha | J'espere que c une blague... Je ne connais pas xxx.com, desole mais contrairement a certain je ne vais pas sur ce genre de site.
J'ai ecrit xxx comme j'aurais pu ecrire yyy, c'est juste un exemple ! |
| deepcore | En cherchant un peu sur le net ( :D ) on trouve des truc comme ça:
use LWP::UserAgent; use HTTP::Request::Common; sub GetDoc { local ($Chemin, $Document, $Query_String) = @_; # On reconstitut l'URL à partir du chemin: www.domaine.ext/répertoire/ # du nom du document: document.pl # et le cas échéant des paramètre: Param=Exemple&Param2=test if ($Query_String ne "" ){ $Complet_URL = "http://" . $Chemin . $Document . "?" . $Query_String; }else{ $Complet_URL = "http://" . $Chemin . $Document; } my $ua = new LWP::UserAgent; # C'est ici que l'on devient internet explorer 4 sous windows 98 $ua->agent('Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)'); # Envoi de la demande, récupération de la réponse du serveur $res = $ua->request(GET $Complet_URL); if ($res->is_success) { $Resultat = $res->content; } $Resultat; } Il ne vous reste donc qu'a appeler la fonction $MonDocument = GetDoc("www.domaine.ext/répertoire/", "document.pl", "Param=Exemple&Param2=test" ); Et à interpréter $MonDocument [jfdsdjhfuetppo]--Message édité par Deepcore--[/jfdsdjhfuetppo] |
| THE REAL ZIAD |
c'est interdit de poster un lien porno :fou: |
| chicha | ca marche pas !
j'ai fait use LWP; $url="http://www.xxx.com/page.html"; $page=get($url); print($page); et j'ai l'erreur suivante: "undifined subroutine... get..." J'ai aussi essaye getc($url) mais $page est vide dans ce cas. |
| Tentacle |
|
| chicha | merci pour votre aide, je verrais ca demain au taf :) |
| stef_dobermann | de l'open sur un site qui ne t'appartient pas !!
bien sur :D |
| Tentacle |
|
| stef_dobermann | c normal et la sécurité boredel de merde, c pour les chiens :??:
:lol: [jfdsdjhfuetppo]--Message édité par SteF_DOBERMANN--[/jfdsdjhfuetppo] |
| Tentacle |
|
| stef_dobermann | :lol: :lol: :lol: si si on peut mais pas avec open :ouch: ca marche uniquement en local, pour ouvrir $url="http://www.xxx.com/myfile.html" tu fait un use LWP; $page = get($url); et dans $page tu as http://www.xxx.com/myfile.html. ca marche aussi sur http://www.xxx.com/myfile.asp ou autre cherche de la doc sur la LWP c super ce kon peut faire avec :) |
| Tentacle |
|
| chicha | J'ai un script en perl qui ouvre un .html et y recupere les hyperliens.
Mon probleme est assez simple: si le .html est sur mon compte sous UNIX, et que le path du .html est du style /home/moncomte/myfile.html, ca marche impec. Par contre, si je teste le script sur une page sur le web, par exemple : $url="http://www.xxx.com/myfile.html", alors la commande open(file,$url) n a pas la permission d'ouvrir la page ! Comment on fait du coup. Car mon but est de coder un crawler qui recupere des pages en les parcourant de liens en liens. Merci pour votre aide ! |




