Maison  >  Article  >  développement back-end  >  Pratique du robot d'exploration PHP : analyser les données sur Twitter

Pratique du robot d'exploration PHP : analyser les données sur Twitter

WBOY
WBOYoriginal
2023-06-13 13:17:392705parcourir

À l'ère du numérique, les médias sociaux sont devenus un élément indispensable de la vie des gens. Twitter en fait partie, avec des centaines de millions d'utilisateurs qui y partagent chaque jour diverses informations. Pour certains besoins de recherche, d’analyse, de promotion et autres, il est indispensable d’obtenir des données pertinentes sur Twitter. Cet article explique comment utiliser PHP pour écrire un simple robot d'exploration Twitter afin d'explorer certaines données liées aux mots clés et de les stocker dans la base de données.

1. API Twitter

Twitter fournit une interface API (Application Programming Interface) officielle permettant aux développeurs d'obtenir des données pertinentes. Pour utiliser l'API de Twitter, vous devez créer une application (App) à l'avance et obtenir les paramètres pertinents de l'application, notamment la clé du consommateur, le secret du consommateur, le jeton d'accès et le secret du jeton d'accès. Les méthodes d'application spécifiques ne seront pas décrites ici.

2. Installer la bibliothèque de l'API Twitter

L'API Twitter fournit officiellement une bibliothèque d'accès au développement (Bibliothèque PHP), qui peut simplifier le processus d'utilisation de l'API Twitter. Dans cet article, nous utiliserons cette bibliothèque pour obtenir des données Twitter. Il existe de nombreuses façons d'installer la bibliothèque de l'API Twitter. Nous présentons ici la méthode d'utilisation de composer pour gérer les dépendances :

1 Installer composer

composer est un outil de gestion des dépendances pour PHP. le package d'installation du système d'exploitation correspondant pour l'installation.

2. Utilisez composer pour installer la bibliothèque de l'API Twitter

Entrez la commande suivante dans la fenêtre de ligne de commande pour installer la bibliothèque de l'API Twitter dans le répertoire du projet :

composer require abraham/twitteroauth

3. Obtenez les données Twitter

Utilisez l'API Twitter pour analyser l'analyse des données, il y a deux étapes : l'authentification et l'interrogation. Une fois l'authentification terminée, vous pouvez utiliser la commande query pour obtenir les données Twitter spécifiées, comme indiqué ci-dessous :

require_once('twitteroauth/autoload.php');
use AbrahamTwitterOAuthTwitterOAuth;

$consumerKey = "your_consumer_key";
$consumerSecret = "your_consumer_secret";
$accessToken = "your_access_token";
$accessTokenSecret = "your_access_token_secret";
$connection = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);

$tweets = $connection->get("search/tweets", array("q" => "php", "count" => 100));

Le code ci-dessus peut obtenir les 100 derniers tweets (tweets) liés à "php" et stocker les résultats dans le $ tweets variable au milieu.

4. Analyser et enregistrer les données

Après avoir obtenu les données Twitter, vous devez analyser et enregistrer les données. Cet exemple utilise une base de données MySQL et vous pouvez utiliser l'extension PDO de PHP et les instructions SQL pour stocker les données. Le code spécifique est le suivant :

try{
    $dbh = new PDO('mysql:host=localhost;dbname=your_database_name', 'your_username', 'your_password');
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    $tweetsArray = json_decode(json_encode($tweets), True)['statuses']; // 将 tweets 转换成数组
    
    foreach ($tweetsArray as $tweet) {
        $id = $tweet['id_str'];
        $text = $tweet['text'];
        $created_at = date("Y-m-d H:i:s", strtotime($tweet['created_at']));
        $user = $tweet['user']['screen_name'];  
        
        // 将数据保存到数据库中
        $statement = $dbh->prepare("INSERT INTO tweets (id, text, created_at, user) VALUES (:id, :text, :created_at, :user)");
        $statement->bindParam(':id', $id);
        $statement->bindParam(':text', $text);
        $statement->bindParam(':created_at', $created_at);
        $statement->bindParam(':user', $user);
        $statement->execute();
    }
    
    echo "Data saved successfully!";
} catch (PDOException $e) {
    echo "Error: " . $e->getMessage();
}

Le code ci-dessus analysera le contenu du tableau $tweets et stockera les données spécifiées dans la table de base de données tweets.

5. Code complet

require_once('twitteroauth/autoload.php');
use AbrahamTwitterOAuthTwitterOAuth;

$consumerKey = "your_consumer_key";
$consumerSecret = "your_consumer_secret";
$accessToken = "your_access_token";
$accessTokenSecret = "your_access_token_secret";
$connection = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);

$tweets = $connection->get("search/tweets", array("q" => "php", "count" => 100));

try{
    $dbh = new PDO('mysql:host=localhost;dbname=your_database_name', 'your_username', 'your_password');
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    $tweetsArray = json_decode(json_encode($tweets), True)['statuses']; // 将 tweets 转换成数组
    
    foreach ($tweetsArray as $tweet) {
        $id = $tweet['id_str'];
        $text = $tweet['text'];
        $created_at = date("Y-m-d H:i:s", strtotime($tweet['created_at']));
        $user = $tweet['user']['screen_name'];  
        
        // 将数据保存到数据库中
        $statement = $dbh->prepare("INSERT INTO tweets (id, text, created_at, user) VALUES (:id, :text, :created_at, :user)");
        $statement->bindParam(':id', $id);
        $statement->bindParam(':text', $text);
        $statement->bindParam(':created_at', $created_at);
        $statement->bindParam(':user', $user);
        $statement->execute();
    }
    
    echo "Data saved successfully!";
} catch (PDOException $e) {
    echo "Error: " . $e->getMessage();
}

6. Notes

  1. L'API Twitter est limitée et chaque application ne peut lancer qu'un certain nombre de requêtes toutes les 15 minutes. Des requêtes trop fréquentes entraîneront l’échec de l’API.
  2. Les données renvoyées par l'API Twitter sont au format JSON et doivent être analysées à l'aide de la fonction json_decode.
  3. Il est recommandé de stocker les données Twitter dans la base de données pour une analyse et un traitement ultérieurs.

7. Résumé

Cet article explique comment utiliser PHP pour écrire un simple robot d'exploration Twitter et stocker les données dans la base de données. Bien que l'utilisation de l'API Twitter puisse grandement simplifier le processus d'acquisition de données, vous devez toujours faire attention aux limites de l'API et au processus d'analyse et de stockage des données dans le développement réel. L’apprentissage et la maîtrise de ces compétences de base peuvent constituer une bonne base pour l’analyse et le traitement futurs des données.

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