0

Mnogosearch : premier crawl essentiel

Ce crawl va récupérer l’ensemble des URL d’un site en récupérant :

  • Title
  • H1
  • Temps de réponse
  • Liens internes entrants / sortants
  • Profondeur
  • Status code (code réponse)

Création de la base

Je crée tout d’abord une base vide, qui sera ma base de crawl. Je l’appelle « mnogo_recettesdemarie ». Je peux la créer directement via l’interface graphique de PHP My Admin.

Création d’un fichier de configuration

Dans cet exemple, je vais crawler mon blog de cuisine : www.recettesdemarie.fr.

Je prépare un fichier de configuration pour Mnogosearch, avec le minimum d’informations (pour cet exemple, afin de lancer un crawl. Ce fichier, que j’appelle recettesdemarie.conf je l’ai placé dans un dossier appelé /mnogosearch_conf/, dossier situé dans /usr/local/ où se trouve le dossier de /mnogosearch/.

Dans ce fichier de configuration, je renseigne, dans l’odre :

  • Connexion à la base de données (bien renseigner la table)
  • Un user-agent personnalisé (permet de simuler Googlebog sur la base du user-agent, mais pas de l’ip)
  • Exclusion des patterns de medis (images…)
  • Suivi des règles du robots.txt
  • Sections que l’on souhaite récupérer (ici title, temps de réponse, h1)
  • La manière dont on souhaite suivre et récupérer l’information des liens (ici tous les liens seront collectés, même lorsqu’ils sont en doublons)
  • Vitesse du crawl
  • Le domaine à crawler


###CHEMIN DACCESS A LA BDD
DBAddr mysql://login:motdepasse@localhost/mnogo_recettesdemarie/?DBMode=blob

###TOUTE LA GESTION DES ENTETES HTTP SE FAIT VIA LA DIRECTIVE HTTPHeader
HTTPHeader "User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html"

###AJOUTER OU EXCLURE DES PATTERNS
Disallow *.b *.sh *.md5 *.rpm
Disallow *.arj *.tar *.zip *.tgz *.gz *.z *.bz2
Disallow *.lha *.lzh *.rar *.zoo *.ha *.tar.Z
Disallow *.gif *.jpg *.jpeg *.bmp *.tiff *.tif *.xpm *.xbm *.pcx
Disallow *.vdo *.mpeg *.mpe *.mpg *.avi *.movie *.mov *.wmv
Disallow *.mid *.mp3 *.rm *.ram *.wav *.aiff *.ra
Disallow *.vrml *.wrl *.png *.ico *.psd *.dat
Disallow *.exe *.com *.cab *.dll *.bin *.class *.ex_
Disallow *.tex *.texi *.xls *.doc *.texinfo
Disallow *.rtf *.cdf *.ps
Disallow *.ai *.eps *.ppt *.hqx
Disallow *.cpt *.bms *.oda *.tcl
Disallow *.o *.a *.la *.so
Disallow *.pat *.pm *.m4 *.am *.css
Disallow *.map *.aif *.sit *.sea
Disallow *.m3u *.qt

###COMPORTEMENT ROBOTS META OU SERVEUR. LES URLS BLOQUEES SONT STOCKEES EN BASE AVEC LE STATUT PERSONNALISE 199
Robots yes

###RECUPERATION DE SEGMENTS DANS LE SOURCE HTML
Section title 1 256
Section ResponseTime 2 32
Section h1 3 256 "(<h1[^<]*>)?([^<]*?)</h1>" "$2"

###SUIVI DES LIENS
FollowLinks yes
CollectLinks yes

###VITESSE DU CRAWL EN SECONDES ET PROFONDEUR MAXHPS
MaxHops 10
CrawlDelay 2
CrawlerThreads 6

###CE QUE L'ON CRAWLE
Server http://www.recettesdemarie.fr/

Préparation des bases

Ensuite, je créée les tables (vides) de ma base. Ces tables seront remplies par le crawler. Afin de créer les tables, je fais la commande suivante :


mnogosearch/bin/indexer -d mnogosearch_conf/recettesdemarie.conf --create

.

Voici l’écran que j’obtiens :

create-table-mnogosearch

Et voici ce que j’obtiens dans mes bases SQL :

tables-vides-mnogosearch

Lancement du crawl

Il est l’heure de lancer le crawl !

Je lance la commande suivante :


mnogosearch/bin/indexer -d mnogosearch_conf/recettesdemarie.conf -o

J’obtiens l’écran suivant :

crawl-mnogosearch

Et dans ma base de données, mes tables se remplissent :

Ci-dessous la table »url » (seulement les colonnes status, profondeur, referrer). Le status =0 correspond à une URL trouvée mais non crawlée :

url-mnogosearch

 

Ci-dessous la table « urlinfo » contenant les éléments extraits (title, temps de réponse, h1) :

url-info-mnogosearch

marseo

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.