Maison > Article > développement back-end > Comment surveiller les robots d'exploration Web en temps réel à l'aide de PHP et Elasticsearch
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.
Installer les dépendances
Nous utilisons Composer pour installer la bibliothèque client PHP Elasticsearch, exécutez la commande suivante :
composer require elasticsearch/elasticsearch
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.
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);
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.
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.
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!