Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2928 connectés 

  FORUM HardWare.fr
  Programmation

  lire une page HTML en PERL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

lire une page HTML en PERL

n°108513
chicha
Posté le 06-03-2002 à 19:56:54  profilanswer
 

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 !

mood
Publicité
Posté le 06-03-2002 à 19:56:54  profilanswer
 

n°108517
Tentacle
Posté le 06-03-2002 à 20:04:16  profilanswer
 

chicha a écrit a écrit :

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 !  




 
je suis déjà pas convaincu que l'on puisse utilisé un lien http avec la commande open de PERL... en PHP d'accord, mais en PERL... :)

n°108558
stef_dober​mann
Personne n'est parfait ...
Posté le 06-03-2002 à 21:21:31  profilanswer
 

: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 :)


---------------
Tout à commencé par un rêve...
n°108563
Tentacle
Posté le 06-03-2002 à 21:24:43  profilanswer
 

SteF_DOBERMANN a écrit a écrit :

: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 :)  




 
ok ça d'accord, ya des modules pour ça, mais qu'il n'écrive pas open alors :)

n°108572
stef_dober​mann
Personne n'est parfait ...
Posté le 06-03-2002 à 21:33:51  profilanswer
 

c normal et la sécurité boredel de merde, c pour les chiens :??:
 
 :lol:

 

[jfdsdjhfuetppo]--Message édité par SteF_DOBERMANN--[/jfdsdjhfuetppo]


---------------
Tout à commencé par un rêve...
n°108575
Tentacle
Posté le 06-03-2002 à 21:37:03  profilanswer
 

SteF_DOBERMANN a écrit a écrit :

c normal et la sécurité boredel de merde, c pour les chiens :??:
 
 :lol:  
 
 




 
de quoi tu parles?

n°108611
stef_dober​mann
Personne n'est parfait ...
Posté le 06-03-2002 à 23:11:36  profilanswer
 

de l'open sur un site qui ne t'appartient pas !!
bien sur :D


---------------
Tout à commencé par un rêve...
n°108612
chicha
Posté le 06-03-2002 à 23:14:03  profilanswer
 

merci pour votre aide, je verrais ca demain au taf :)

n°108614
Tentacle
Posté le 06-03-2002 à 23:16:35  profilanswer
 

SteF_DOBERMANN a écrit a écrit :

de l'open sur un site qui ne t'appartient pas !!
bien sur :D  




 
bah si il utilise le module dont tu as donné le nom, il n'y aucun problème... et je pense que c'est ce qu'il veut faire.
Pour le open, de toute façon ça ne marcherait pas, faut passer par un ftp :)

n°108738
chicha
Posté le 07-03-2002 à 10:58:06  profilanswer
 

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.

mood
Publicité
Posté le 07-03-2002 à 10:58:06  profilanswer
 

n°108746
THE REAL Z​IAD
en cure de déblablatisation
Posté le 07-03-2002 à 11:20:49  profilanswer
 

SteF_DOBERMANN a écrit a écrit :

: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 :)  



c'est interdit de poster un lien porno :fou:


---------------
[:the%20real%20ziad]  
n°108755
deepcore
Posté le 07-03-2002 à 11:36:32  profilanswer
 

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]


---------------
"Si ça peut déconner, ça va déconner..."
n°108759
chicha
Posté le 07-03-2002 à 11:39:01  profilanswer
 

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 !

n°108816
chicha
Posté le 07-03-2002 à 12:48:54  profilanswer
 

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 ;) !

n°108855
deepcore
Posté le 07-03-2002 à 13:51:50  profilanswer
 

chicha a écrit a écrit :

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 ;) !  




 
Ben non, il liste pas les liens d'une page, il récupére le contenu de la page, après c'est à toi de trouver les liens (faut pas pousser non plus).


---------------
"Si ça peut déconner, ça va déconner..."
n°108871
chicha
Posté le 07-03-2002 à 14:06:25  profilanswer
 

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 :)

n°108888
deepcore
Posté le 07-03-2002 à 14:26:18  profilanswer
 

chicha a écrit a écrit :

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 :)  




 
Parceque là, il appelle un script CGI à priori, mais tu t'en fous. En plus tu peux la bricoler un peu pour qu'elle soit mieux adaptée à ce que tu souhaites.


---------------
"Si ça peut déconner, ça va déconner..."
n°109036
stef_dober​mann
Personne n'est parfait ...
Posté le 07-03-2002 à 16:22:32  profilanswer
 

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

n°109120
chicha
Posté le 07-03-2002 à 18:20:18  profilanswer
 

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 ?

n°109137
stef_dober​mann
Personne n'est parfait ...
Posté le 07-03-2002 à 18:38:52  profilanswer
 

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)


---------------
Tout à commencé par un rêve...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  lire une page HTML en PERL

 

Sujets relatifs
[HTML / balise object / évènement ONBLUR] bug, ou truc très con[HTML - ASP] Forcer un fichier .txt à se télécharger au lieu...
Ouvrir une page HTML avec un bouton en Java[Perl / Javascript] recuperer le selectedIndex dans une var Perl
[HTML] pb avec le maxlenght....Problème avec un forum en HTML e ASP...
desactive HTML[PERL] comment lancer un prog en perl c pas moi qui l'ai fait....
help html 
Plus de sujets relatifs à : lire une page HTML en PERL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR