Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

WEB SPIDER - WEB CRAWLER


Information sur la source



Description

C'est une version simple en mode console d'un robot web : un spider ou crawler.
Les spiders ou crawler sont des robots qui parcourent le web pour en connaitre sa structure et éventuellement son contenu.
Ce sont les petites bêtes qu'utilisent les moteurs et parfois aussi les meta moteur de recherche.

Pour faire fonctionner celui la, il faudra installer la librairie htmlparser qui se trouve à l'adresse : http://htmlparser.sourceforge.net/
 

Conclusion

Utilisation :

- Ecrire l'url de base dans la variable URLSite
- Donner le nombre maximum d'url à "visiter" dans la variable maxURLtoVisit
- Rajouter éventuellement des extensions de fichiers dans le vecteur allowedExtensions si le site cible les utilise
- Positionner les différentes options du programme (leur nom est suffisement explicite)
A noter le booleen stayInDomain permet au spider de ne pas "déborder" de son site cible.
Si il est positionné à false, le spider ira se balader un peu n'importe où sur le web, mais c'est aussi interressant comme comportement.
- Compiler et lancer le programme

Liste des bugs : probablement...J'ai pas tout tester, à vous de jouer avec. Je reste à l'écoute pour les corrections (constructives s'entend, si c'est pour me dire il manque une virgule, je m'en peint le nombril avec le pinceau de l'indifférence... :o)
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de karoudja le 17/08/2007 11:44:39

bravo source très intéressante. Celle-ci m'a fortement aidé pour mon application. merci bcp.

signaler à un administrateur
Commentaire de AlexN le 17/08/2007 20:35:47

de rien

à noter :

Il existe principalement deux méthodes pour parcourir un site (une arborescence) :

- breadth first : le robot visite les url au fur et et mesure qu'elles apparaissent dans les pages.
- deepth first : le robot commence à lire les pages puis descend dans l'arborescence dès qu'une url lue le permet puis termine la lecture des pages en remontant.

le source posté ici utilise la première méthode.

signaler à un administrateur
Commentaire de Nextanalyzer le 23/04/2008 10:22:25

Bonjour,

Je trouve me script très intéréssant et j'ai voulu l'essayer, je rencontre un gros soucis pour l'installation des librairies htmlphraser.
Je suis sur macintosh et j'utilise Netbeans, j'ai bien copier le contenu du dossier bin et lib dans ceux respectifs localisés dans libraries/java ...
J'ai beau compiler donc javac spider.java et la que des erreurs du à la librarie, j'ai donc du mal l'installer, je ne sais pas.

Pourriez vous m'éclairer s'il vous plaît ?

En vous remerciant d'avance.

signaler à un administrateur
Commentaire de AlexN le 26/04/2008 08:41:21

Bonjour,

je ne connais pas netbeans, je ne serais pas d'une grande aide. Sinon voici une méthode pour compiler en ligne :

- créer un répertoire nommé tmp à la racine d'une machine
- copier le fichier htmlparser.jar dans le répertoire tmp
- créer un répertoire spider dans le répertoire tmp
- copier le fichier Spider.java dans le répertoire spider
- compiler : javac -classpath \tmp\htmlparser.jar spider\Spider.java

signaler à un administrateur
Commentaire de ndiengphp le 13/12/2008 13:02:00

Bonjour ALEXN,

tout d'abord merci beaucoup pour ce source. car cela fait une semaine que j'éssayer de coder moi meme un spider car ne savait pas que y'avais des sources disponibles. Je suis une débutante.

Donc j'ai suivi à la votre recommendation pour la compilation, et elle marche. Mais je n'arrive pas à éxécuter le fichier Spider.class


Il me met comme erreur exeption in Thread main? alorque que je renseigne bien le classpath meme lors de léxécution et je suis dans le bon répertoire.


Je vous remercie de votre réponse.

signaler à un administrateur
Commentaire de AlexN le 13/12/2008 13:57:36

Bonjour,

"Exception in thread main" n'est pas suffisamment explicite pour que je puisse vous aider dans la résolution de l'erreur. Il faut faire une copie de la pile des messages d'erreurs, notamment pour savoir à quelle ligne se produit l'erreur, et m'indiquer quelle est la ligne de code source de l'erreur (un numéro de ligne ne veut rien dire surtout si vous avez modifié un peu la source...)

signaler à un administrateur
Commentaire de ndiengphp le 13/12/2008 15:16:08

Rebonjour ALEXN,


En fait je n'ai pas modifier le code source. Je dois utiliser un crawler pour extraire les informations( url de documents) contenus dans Wikipedia.

ET donc par chance je suis tombé sur votre code. je dois juste la modifier (après avoir testé) pour qu'il me suave les informations dans une BDD sql en utilisant phpmyadmin. Cependant j'ai juste changer url site et mis http://ent.wikipedia.org.


Comme je vous l'ai dit, la compilation marche ( ne génère aucune erreur)et j'ai le fichier spider.class. Par contre l'exécution ne marche pas:

java spider.class oubien java -classpath /tmp/hmlparser.jar spider/spider.class

J'ai essayé les deux mais j'obtient comme erreur:

Exception in Thread "main" java.lang.NoClassDefFoundError: spider/class

La premiere éxécution, j'ai défini dans le classpath ou se trouve toute la source de Html parser.


Je vous remerci.

signaler à un administrateur
Commentaire de ndiengphp le 14/12/2008 09:42:24

REbonjour ALEXN,


Voila les lignes exacts de l'érreur:

Exception in thread "main" java.lang.NoClassDefFoundError: voila/crawler/Crawler/class
Caused by: java.lang.ClassNotFoundException: voila.crawler.Crawler.class
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)


Si vous pouvez me venir au secour s'il vous plait.


JE vous remercie.

signaler à un administrateur
Commentaire de AlexN le 16/12/2008 11:18:52

Bonjour,

vous n'avez peut être pas modifié la source, mais vous n'avez pas la même arborescence que celle donnée en exemple (voila/crawler/Crawler/class), ni même le même nom de fichier...

Voici la procédure pour exécuter le fichier class que vous avez compilé (en partant du principe que vous travaillez dans un répertoire nommé "tmp" à la racine de votre arborescence (Ce message fait suite au message du 26/04/2008 08:41:21 qui montre comment compiler la source) :

1) Se positionner dans le répertoire "tmp" : cd \tmp
2) exécuter la ligne de commande suivante : java -classpath .;.\htmlparser.jar spider.Spider

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

htmlparser [ par dalila5555 ] Bonjourje suis entrain de faire un parser pour une page HTML.je suis arrivée a la parser mais le probleme c'est que je veux identifier la balise retou htmlparser [ par dalila5555 ] Bonjourje veux bien récuperer la balise  &lt;div id="zoom-keyword"&gt; dans un fichier HTMLdonc voila j'ai fait un parser qui me recupere la balise di Simuler une touche avec robot.keyPress() [ par ocbslim ] ocbslimBonjour,Je suis en train de réalisé un module qui simule le fait de taper une chaine de caractere au clavier avec robot.keypress(). Cette chain utilisation java.awt.Robot [ par umafaid ] Bonjour, j'utilise la classe Robot pour me déplacer automatiquement sur un panel. Mais j'aimerais que le robot s'arrête au clic de l'utilisateur et Parser du HTML [ par JALEO WAHRANI ] Bonjour à tous,j'utilise actuellement htmlparser pour parser du HTML (logique !). Cependant je bute sur un problème car je voudrais ouvrir un fichier, Parser IFC [ par Aleguire ] Bonjour à tous. Je suis actuellement en 2 ème année de DUT informatique et dans le cadre de mon projet tut je dois travailler avec des documents IFC. Parser un fichier text en java (tokens) [ par theunknown0o ] Bonjour,j'aimerai avoir un code qui pourrait parser en java un fichier texte le texte: ligne 1==&gt; ab=X cd=Y ef=Zj'aimerai avoir a la fin ke les val Gestion des balises XMl <include> avec un parser SAX-Handler [ par O Sensei ] Bonjour,   Voila tout est quasiment dans le titre. J'ai pour le moment mon parser SAX et un handler pour lire mon fichier XML. Je souhaiterai ajouter Parser Java Google [ par Snacksou ] Bonjour à tous,dans le cadre d'un projet de détection de plagiat à la fac, développé en Java, nous sommes amenés à faire des requêtes vers divers mote parseur html [ par bassoumbassoum ] Bonjour,j'ai éssayé un code pour parser un fichier html, j'ai réussit de sortir toutes les balises c'est mon codes:#import java.io.Serializable;import


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,546 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.