Aller au contenu

Sujets conseillés

Posté

Bonjour,

loin de moi l'idée de concurencer google, mais je suis un petit curieux, et je voudrais savoir comment faire, si cela est possible, pour une sorte de "robot" qui visite une page, en suit les liens, puis les visites, suit les liens sur ces nouvelles pages etc...

Vous voyez ce que je veux dire ? Merci d'avance ! Je repete que je veux juste un peu de theorie sur le fonctionnement, pas forcément un script complet ^^

Posté (modifié)

Avec fopen de php, tu ouvre une page, et avec regex tu reperes tous les liens d'une pages et tu enregistree dans une bdd, ensuite, tu ouvres avec fopen les liens enregistrés dans ta bdd etc... et tu repetes ca...

C'est la theorie ca!

EDIT:

J'ai oublié de dire que tu dois bien sur enregistré le contenu des pages!

Modifié par yuston
Posté

Parfois il faut connaître le mal pour faire le bien, alors je propose un article à bien prendre avec des pincettes, mais je pense qu'il pourra vous aider à appréhender la conception d'un moteur de recherche artisanaux comme vous pouvez en croiser tous les jours.

moteur de spam sur Google

Posté

Pour éviter le 'timeout' des pages, qui se situe à 30 secondes, il sufft d'utiliser la fonction php :

set_time_limit(int sec);

où 'int sec' est le temps, en secondes, pendant lequel on autorise l'execution d'un script.

Ainsi :

set_time_limit(60);

fait marcher un script 60 secondes.

Il est ainsi possible d'executer un programme beaucoup plus longtemps qu'une simple journée. ;)

Posté
Il est ainsi possible d'executer un programme beaucoup plus longtemps qu'une simple journée. ;)

<{POST_SNAPBACK}>

Dans ce cas comment faire pour que le script ne reste pas indéfiniment bloqué en attente d'une url qui ne répondrait pas? Par exemple, si une URL n'a pas répondu au bout d'une minute, enregistrer l'échec, et passer à l'url suivante.

Posté

salut,

à la place de fopen, j'utilise file_get_contents()

mets un @ devant la fonction de lecture de la page et une condition: si l'ouverture de la page est possible alors on parse sinon on passe au lien suivant.

Ce type de moteur s'appelle un spider WEB car il tisse une toile en suivant les liens.

Et on peut en réaliser un simple en quelques lignes de codes PHP.

J'ai fait des tests en utilisant 2 fonctions:

la principale:

-ouvre une page,

-sauvegarde le contenu,

-cherche les liens

-demande à la 2eme fonction si le lien a déjà été suivi

-suit le lien si c'est un nouveau en rapellant la même fonction (la 1ere)

La seconde:

-stocke tout les liens visités pour dire à la première si c'est une nouvelle page ou une déjà visté.

J'ai fait les tests chez free, OVH et en local, pour analyser un site dynamique, classer et stocker les mots clefs par page et par occurence, soit environ 2000 pages, il faut 30 secondes environ.

Posté

Tu as fait des test sous ovh sur un site qui se trouvais également sur ovh ou un site sur un serveur distant ?

Cela ne me semble pas beaucoup 30 secondes pour 2000 pages.

Posté

Testé sur plusieurs centaines de sites dans le monde.

Et ce moteur de recherche est maintenant présent sur plusieurs sites et fonctionne bien.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...