Programme visiteur de site

sempo -  
Zep3k!GnO Messages postés 2049 Statut Membre -
bonjour,
Je cherche une idée de base, ou des informations pour programmer un espéce de moteur visiteur de site.

pour pouvoir recolter des informations sur un site de manière automatique, j'aimerai pouvoir lancer un programme qui visite ce site, decortique le code html, et enregistre les informations dans un fichier.

Le tout c'est comment aller de liens en liens, quel mecanisme utiliser ????

merci

Sempo
A voir également:

5 réponses

sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
Le tout c'est comment aller de liens en liens, quel mecanisme utiliser ????

1) récupérer la page HTML avec le protocle HTTP

2) décortiquer le code HTML à la recherche de tous les HREF=...

3) une fois que tu as toutes les URLs contenues dans les HREF, récupérer chacune de ces pages (étape 1) et recommencer.

Il y a des logiciels comme HTTrack qui peuvent récupérer un site en entier.

Un exemple en Python pour aller chercher une page et en extraire tous les liens:
import re, urllib

htmlSource = urllib.urlopen("https://sebsauvage.net/index.html").read()
listeDeLiens= re.findall('<a href="(.*?)">',htmlSource)
for lien in listeDeLiens:
    print lien 
0
Luffy =) Messages postés 366 Statut Membre 110
 
Salut =)

ben quand tu lis la page html, tu récupères les liens qui sont dans la balise "<a href='tonlien.html'>"

et voilà !

[Edit] oups, j'avais pas vu ta réponse sebsauvage...
en tout cas en python, ça a l'air d'être relativement simple, parce qu'en C, ça aurait été un peu plus compliqué...
0
sempo
 
si le site est protégé contre les aspirateurs, est ce que la solution en python ou autre langage marcherait ???

merci
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
si le site est protégé contre les aspirateurs, est ce que la solution en python ou autre langage marcherait ???

ça dépend.

Je connais plusieurs astuces pour se protéger des aspirateurs, mais selon la protection, il y a moyen de contourner.
(exemple: webbugs).
0
Zep3k!GnO Messages postés 2049 Statut Membre 200
 
ça dépend.

ça dépasse !

hi hi hi :P

Zep3k!GnO
-->curtis jackson: "On est des rangers mec, des rangers..."
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
seak
 
bonjour,
J'aimerai me constituer une liste de lien qui se trouvent sur une page afin de l'exploiter par la suite.
donc cela consiste à chercher une chaine de caractère spécifique contenant le lien href et de la stocker.
Jusqu'à maintenant, je suis arrivé à faire ca en php :

<? 

$page =''; 
$geoLecture = fopen('http://www.tageo.com/index.htm', 'r') or die($php_errormsg); 
$geoEcritureLien = fopen('listeLien_geo.txt', 'w') or die($php_errormsg); 

  
while (! feof($geoLecture)) { 
   $page = fread($geoLecture, 1048576); 
   while (ereg("href=\"alpha+\"", $page, $lien)) { 
      fwrite($geoEcritureLien, $page); 
   } 
} 
       
    
    

?> 



est ce que l'expression régulière vous semble correcte ?
la boucle marcherait vraiment dans ce cas la ? j'aimerai faire en sorte que tant qu'il y a des chaines de caractères qui repondent à l'expression, le traitement continue.
Pour une utilisation ultérieur, j'aimerai ne pouvoir stocker que le texte du lien. Par exemple pour https://www.buydomains.com/lander/monlien.com?domain=monlien.com&utm_source=monlien.com&utm_medium=click&utm_campaign=TDFS-OO-BDLander_Invisible&traffic_id=TDFS-OO-BDLander_Invisible&traffic_type=tdfs&redirect=ono-redirect j'aimerai ne stocker que ce texte et non href="https://www.buydomains.com/lander/monlien.com?domain=monlien.com&utm_source=monlien.com&utm_medium=click&utm_campaign=TDFS-OO-BDLander_Invisible&traffic_id=TDFS-OO-BDLander_Invisible&traffic_type=tdfs&redirect=ono-redirect".

Vous avez une astuce ?

merci et bonne soirée

Sempire
0