Programme visiteur de site
sempo
-
Zep3k!GnO Messages postés 2049 Statut Membre -
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
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:
- Programme visiteur de site
- Site de telechargement - Accueil - Outils
- Site x - Guide
- Site de partage de photos - Guide
- Programme demarrage windows - Guide
- Quel site remplace coco - Accueil - Réseaux sociaux
5 réponses
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:
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
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é...
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é...
si le site est protégé contre les aspirateurs, est ce que la solution en python ou autre langage marcherait ???
merci
merci
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).
ç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).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 :
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
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