Maison  >  Article  >  développement back-end  >  Comment surveiller les robots d'exploration Web en temps réel à l'aide de PHP et Elasticsearch

Comment surveiller les robots d'exploration Web en temps réel à l'aide de PHP et Elasticsearch

WBOY
WBOYoriginal
2023-07-07 20:30:261079parcourir

Comment utiliser PHP et Elasticsearch pour surveiller les robots d'exploration Web en temps réel

Introduction :
Les robots d'exploration Web peuvent nous aider à obtenir de grandes quantités de données sur Internet. Cependant, lorsque le programme d'exploration s'exécute pendant une longue période, nous devons souvent surveiller son état d'exécution et ses résultats en temps réel. Cet article explique comment utiliser PHP et Elasticsearch pour mettre en œuvre une surveillance en temps réel des robots d'exploration Web, afin que nous puissions comprendre la situation d'exploration à temps.

  1. Préparation
    Avant de commencer, nous devons installer et configurer les outils suivants :
  2. PHP : Dans cet exemple, nous utilisons PHP comme langage de développement.
  3. Elasticsearch : utilisé pour stocker et rechercher des données de surveillance des robots.
  4. Composer : utilisé pour gérer les dépendances PHP.
  5. Installer les dépendances
    Nous utilisons Composer pour installer la bibliothèque client PHP Elasticsearch, exécutez la commande suivante :

    composer require elasticsearch/elasticsearch
  6. Créez une connexion Elasticsearch
    Créez une connexion Elasticsearch en utilisant le code suivant :

    require 'vendor/autoload.php';
    
    use ElasticsearchClientBuilder;
    
    $client = ClientBuilder::create()
     ->setHosts(['localhost:9200'])
     ->build();

    Dans le code ci-dessus, nous configurer Elasticsearch L'hôte et le port peuvent être modifiés en fonction de votre situation réelle.

  7. Créer un index de surveillance des robots
    Dans Elasticsearch, nous devons d'abord créer un index pour stocker les données de surveillance des robots. Exécutez le code suivant pour créer un index :

    $params = [
     'index' => 'spider_monitor',
     'body' => [
         'mappings' => [
             'properties' => [
                 'url' => ['type' => 'text'],
                 'status' => ['type' => 'keyword'],
                 'timestamp' => ['type' => 'date']
             ]
         ]
     ]
    ];
    
    $response = $client->indices()->create($params);
  8. Surveiller l'état du robot d'exploration
    Dans le programme du robot d'exploration, nous pouvons surveiller son état en temps réel en insérant des données dans Elasticsearch. Voici un exemple de code :

    $url = "http://example.com";
    $status = "running";
    $timestamp = date('Y-m-d H:i:s');
    
    $params = [
     'index' => 'spider_monitor',
     'body' => [
         'url' => $url,
         'status' => $status,
         'timestamp' => $timestamp
     ]
    ];
    
    $response = $client->index($params);

    Dans le code ci-dessus, nous insérons l'URL du robot, l'état d'exécution et l'horodatage actuel sous forme de documents dans l'index.

  9. Requête de l'état du robot d'exploration
    En utilisant la fonction de recherche d'Elasticsearch, nous pouvons interroger l'état du robot d'exploration dans une plage de temps spécifique. Voici un exemple de code :

    $params = [
     'index' => 'spider_monitor',
     'body' => [
         'query' => [
             'range' => [
                 'timestamp' => [
                     'gte' => '2022-01-01T00:00:00',
                     'lt' => '2022-12-31T23:59:59'
                 ]
             ]
         ]
     ]
    ];
    
    $response = $client->search($params);

    Dans le code ci-dessus, nous spécifions une plage de temps et obtenons tous les statuts du robot dans cette plage.

  10. Résultats visuels de la surveillance
    Afin d'afficher les résultats de la surveillance de manière plus intuitive, nous pouvons utiliser des outils tiers (tels que Kibana) pour visualiser les données dans Elasticsearch. Grâce à Kibana, nous pouvons créer des tableaux de bord, des graphiques, etc. pour surveiller l'état des robots d'exploration en temps réel.

Résumé :
Cet article explique comment utiliser PHP et Elasticsearch pour surveiller les robots d'exploration Web en temps réel. En stockant les données d'état du robot d'exploration dans Elasticsearch, nous pouvons rapidement interroger et visualiser les résultats de l'exploration et comprendre l'état de fonctionnement du robot en temps opportun. J'espère que ce contenu pourra fournir une référence et une aide aux développeurs dans le processus de surveillance des robots d'exploration.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn