Comment construire un robot web de base pour extraire des informations à partir d`un site web (partie 1)

Web Crawlers, parfois appelés grattoirs, scanner automatiquement Internet en essayant de glaner contexte et la signification du contenu qu`ils trouvent. Le web ne fonctionnerait pas sans eux. Crawlers sont l`épine dorsale des moteurs de recherche qui, combinés avec des algorithmes intelligents, le travail sur la pertinence de votre page à un ensemble mot-clé donné.

Le robot d`exploration Web de Google entrera votre domaine et analyser chaque page de votre site, extraire les titres de page, les descriptions, mots clés et liens - puis faire rapport au siège de Google et d`ajouter les informations à leur base de données énorme.

Aujourd`hui, je voudrais vous apprendre comment faire votre propre robot de base - non pas celui qui balaye l`ensemble d`Internet, bien, mais qui est capable d`extraire tous les liens d`une page Web donnée.

Video: [EXCEL] Comment importer des données d'un site Web


En règle générale, vous devez vous assurer que vous avez la permission avant de gratter sites Web au hasard, comme la plupart des gens le considèrent comme un espace juridique très gris. Pourtant, comme je le dis, le web ne fonctionnerait pas sans ce genre de robots d`exploration, il est donc important de comprendre comment ils fonctionnent et comment ils sont faciles à faire.

Pour faire un simple robot, nous allons utiliser le langage de programmation la plus courante de l`Internet - PHP. Ne vous inquiétez pas si vous ne l`avez jamais programmé en PHP - Je vais vous emmène à travers chaque étape et expliquer ce que chaque partie fait. Je vais prendre une connaissance de base absolue du HTML bien, assez que vous comprenez comment un lien ou une image est ajoutée à un document HTML.

Video: PHP Curl Tutorial 4.1 - Bots, robots rastreadores con PHP Curl (HD)

Avant de commencer, vous aurez besoin d`un serveur pour exécuter PHP. Vous avez un certain nombre d`options:

  • Si vous hébergez votre propre blog en utilisant WordPress, vous avez déjà un, alors télécharger les fichiers que vous écrivez par FTP et de les exécuter à partir de là. Matt nous a montré certains clients FTP gratuit pour Windows vous pouvez utiliser.
  • Si vous ne disposez pas d`un serveur Web, mais ont un vieux PC assis autour, vous pouvez alors suivre le tutoriel de Dave ici de transformer un vieux PC en un serveur Web.
  • Juste un ordinateur? Ne vous inquiétez pas - Jeffry nous a montré comment nous pouvons exécuter un serveur local à l`intérieur de Windows ou Mac.

Commencer

Nous allons utiliser une classe d`aide appelée Simple HTML DOM. Télécharger ce fichier zip, décompressez et télécharger le simple_html_dom.php fichier contenu dans votre premier site Web (dans le même répertoire que vous courrez vos programmes à partir). Il contient des fonctions que nous allons utiliser pour parcourir les éléments d`une page Web plus facilement. Ce fichier zip contient également le code exemple d`aujourd`hui.

Tout d`abord, nous allons écrire un programme simple qui vérifiera si PHP fonctionne ou non. Nous allons également importer le fichier d`aide que nous allons utiliser plus tard. Créez un nouveau fichier dans votre répertoire Web, et l`appeler example1.php - le nom réel est pas important, mais le .php fin est. Copiez et collez ce code dans le:

? Lt; phpinclude_once ( `simple_html_dom.php`) - phpinfo () - gt?;

Accédez au fichier via votre navigateur Internet. Si tout est allé bien, vous devriez voir une grande page de débogage aléatoire et informations sur le serveur imprimé comme ci-dessous - tous de la petite ligne de code! Ce n`est pas vraiment ce que nous sommes après, mais au moins nous savons que tout fonctionne.

web crawler

Les premières et dernières lignes indiquent simplement le serveur que nous allons utiliser le code PHP. Ceci est important parce que nous pouvons effectivement inclure la norme HTML sur la page aussi, et il va rendre très bien. La deuxième ligne tire dans l`aide HTML simple DOM nous utiliserons. le phpinfo () - ligne est celui qui imprime toutes ces informations de débogage, mais vous pouvez aller de l`avant et supprimer maintenant. Notez que PHP, les commandes que nous avons doivent être finis avec deux points (-). L`erreur la plus courante de tout débutant PHP est d`oublier que peu de ponctuation.

Une tâche typique que Google effectue est de tirer tous les liens d`une page et voir quels sites ils endossent. Essayez le code suivant suivant, dans un nouveau fichier si vous le souhaitez.

lt;? phpinclude_once ( `simple_html_dom.php`) -

$ Target_url = « http://tokyobit.com/"-
$ Html = new simple_html_dom () -
$ Html gt; load_file (target_url de $) -
foreach ($ html gt; trouver ( « a `) comme lien $) {
echo $ link-gt; href « .
« -
}
?gt;

Vous devriez obtenir une pleine page d`URL! Formidable. La plupart d`entre eux seront des liens internes, bien sûr. Dans une situation réelle, Google ne tiendrait pas compte des liens internes et simplement regarder ce que d`autres sites que vous liez, mais c`est en dehors du cadre de ce tutoriel.

Si vous utilisez sur votre propre serveur, allez-y et changer la Cible URL variable à votre propre page Web ou tout autre site Web que vous souhaitez examiner.

Ce code a été tout à fait un saut du dernier exemple, donc nous allons passer par en pseudo-code pour vous assurer que vous comprenez ce qui se passe.

Inclure une fois le fichier d`aide HTML simple DOM.

Définissez l`URL cible comme http://tokyobit.com.

Créer un nouvel objet DOM HTML simple pour stocker la page cible

Chargez notre URL cible dans cet objet

Pour chaque lien que l`on trouve sur la page cible

- Imprimez l`attribut HREF

Qu`il est aujourd`hui, mais si vous voulez un peu de défi - essayez de modifier le deuxième exemple de sorte qu`au lieu de rechercher des liens ( éléments), il prend la place des images (). Se souvenir du src attribut d`une image spécifie l`URL de cette image, non HREF.

Voulez-vous en savoir plus? Faites-moi savoir dans les commentaires si vous êtes intéressé par la lecture d`une partie 2, ou même si vous souhaitez un tutoriel PHP back-basics (avec solution de devoirs!) - et je bruissement une prochaine fois pour vous. Je vous préviens que - une fois que vous avez commencé avec la programmation en PHP, vous allez commencer à faire des plans pour créer le prochain Facebook, et tous ces désirs latents pour la domination du monde va bientôt vous consommer. La programmation est amusant.

Articles connexes