begin process at 2010 09 09 09:30:35
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Reseaux et Internet

 > WEB SPIDER - WEB CRAWLER

WEB SPIDER - WEB CRAWLER


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Reseaux et Internet Classé sous :spider, crawler, htmlparser, robot, parser Niveau :Initié Date de création :16/04/2007 Vu / téléchargé :10 203 / 770

Auteur : AlexN

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note


 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

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

CHUNKEDXML, LIRE DU XML PAR MORCEAU
Source avec Zip EXPLORATEUR D'IMAGES
Source avec Zip ANALYSEUR XML GÉNÉRIQUE ET PROGRAMMATION REFLÉXIVE
Source avec Zip REDIRECTION D'URL ET TRANSMISSION DE COOKIES
SUPPRIMER LES BALISES D'UN FICHIER HTML

 Sources de la même categorie

Source avec Zip Source avec une capture RÉCUPÉRER CHEMIN DOSSIER DEPUIS POSTE DISTANT VIA SOCKET. par Dariumis
Source avec Zip Source avec une capture LOCALISATEUR D'HOTE (IL SUFFIT D'ENTRE L'ADRESSE ET LE PROG ... par amateur_java
Source avec Zip COMPTEUR DE TEMPS DE CONNEXION A L'INTERNET EN RESEAU. par Tiger076
Source avec Zip SERVEUR GENERIQUE par pacifikateur
Source avec Zip Source avec une capture JOMESSENGER : APPLICATION CLIENT/SERVER par numurique

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture LETMESEE : CAPTURE D'ÉCRAN À INTERVALLE RÉGULIER : UTILISATI... par pyo656
CHUNKEDXML, LIRE DU XML PAR MORCEAU par AlexN
Source avec Zip SOURCECODEPARSER par Spiky33
Source avec Zip APPLET IRC + ANNA BOTEN : UN BOT IRC QUI PERMET DE JOUER A D... par coucou747
Source avec Zip [JAVA3D] PARSEUR DE FICHIER WAVEFRONT par bebe47

Commentaires et avis

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.

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.

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.

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

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.

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

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.

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.

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

Commentaire de hatimhamid le 08/10/2009 15:49:21

Bonjour.
Je ne suis pas très familiers des web crowlers.
Pourriez-vous me décrire en quelques lignes quelles sont les étapes à suivre pour tester votre code? J'ai un fort besoin de dévelpooer un web crowler spécifique à mes exigences.
Merci

Commentaire de magnific0 le 02/06/2010 23:29:08

bonjour. j'ai essayer de compiler le code et j'ai eu des erreurs... need some help.
voici l'erreur: (j'ai rien modifier)

./spider/Spider.java:112: incompatible types
found   : void
required: org.htmlparser.util.NodeList
NodeList titleList = parser.parse(new NodeClassFilter (TitleTag.class));
                                 ^
./spider/Spider.java:115: incompatible types
found   : void
required: org.htmlparser.util.NodeList
         NodeList list = parser.parse (new NodeClassFilter (LinkTag.class));

Commentaire de magnific0 le 03/06/2010 00:12:47 7/10

bonjour a tous.
g des erreurs quand je compile la source. kelkun pourrait m'aidé ???
NB: g effectué aucune modif sur le codes


./spider/Spider.java:112: incompatible types
found   : void
required: org.htmlparser.util.NodeList
NodeList titleList = parser.parse(new NodeClassFilter (TitleTag.class));
                                 ^
./spider/Spider.java:115: incompatible types
found   : void
required: org.htmlparser.util.NodeList
         NodeList list = parser.parse (new NodeClassFilter (LinkTag.class));
                                      ^
2 errors

Commentaire de AlexN le 05/06/2010 00:57:34

Si vous avez des erreurs de type c'est surement parce vous essayer de compiler ce source avec une version trop récente de htmlparser. Deux solutions :
- Rechercher une version plus ancienne d'htmlparser.
- modifier le source du crawler pour le rendre compatible avec votre version de htmlparser.

Commentaire de magnific0 le 05/06/2010 14:26:13

merci ca marche maintenant.

 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

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales