Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Crawler-Praxis: Crawlen von Daten auf Twitter

PHP-Crawler-Praxis: Crawlen von Daten auf Twitter

WBOY
WBOYOriginal
2023-06-13 13:17:392776Durchsuche

Im digitalen Zeitalter sind soziale Medien zu einem unverzichtbaren Bestandteil des Lebens der Menschen geworden. Twitter ist eines davon, auf dem täglich Hunderte Millionen Nutzer verschiedene Informationen teilen. Für einige Forschungs-, Analyse-, Werbe- und andere Zwecke ist es unbedingt erforderlich, relevante Daten auf Twitter zu erhalten. In diesem Artikel wird erläutert, wie Sie mit PHP einen einfachen Twitter-Crawler schreiben, der einige schlüsselwortbezogene Daten crawlt und in der Datenbank speichert.

1. Twitter-API

Twitter bietet Entwicklern eine offizielle API-Schnittstelle (Application Programming Interface), um relevante Daten zu erhalten. Um die API von Twitter verwenden zu können, müssen Sie im Voraus eine Anwendung (App) erstellen und die relevanten Parameter der Anwendung abrufen, einschließlich Verbraucherschlüssel, Verbrauchergeheimnis, Zugriffstoken und Zugriffstokengeheimnis. Die spezifischen Anwendungsmethoden werden hier nicht beschrieben.

2. Twitter-API-Bibliothek installieren

Die Twitter-API stellt offiziell eine Entwicklungszugriffsbibliothek (PHP-Bibliothek) bereit, die den Prozess der Verwendung der Twitter-API vereinfachen kann. In diesem Artikel werden wir diese Bibliothek verwenden, um Twitter-Daten zu erhalten. Es gibt viele Möglichkeiten, die Twitter-API-Bibliothek zu installieren. Die spezifischen Schritte sind wie folgt:

Composer ist ein Abhängigkeitsverwaltungstool für PHP Das Installationspaket des entsprechenden Betriebssystems zur Installation.

2. Verwenden Sie Composer, um die Twitter-API-Bibliothek zu installieren.

Geben Sie den folgenden Befehl in das Befehlszeilenfenster ein, um die Twitter-API-Bibliothek im Projektverzeichnis zu installieren:

composer require abraham/twitteroauth 3. Erhalten Sie Twitter-Daten.

Verwenden Sie die Twitter-API Zum Crawlen der Datenanalyse gibt es zwei Schritte: Authentifizierung und Abfrage. Nachdem die Authentifizierung abgeschlossen ist, können Sie den Abfragebefehl verwenden, um die angegebenen Twitter-Daten abzurufen, wie unten gezeigt:

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));

Der obige Code kann die neuesten 100 Tweets (Tweets) im Zusammenhang mit „php“ abrufen und die Ergebnisse im speichern $tweets Variable Mitte.

4. Daten analysieren und speichern

Nachdem Sie die Twitter-Daten erhalten haben, müssen Sie die Daten analysieren und speichern. In diesem Beispiel wird eine MySQL-Datenbank verwendet, und Sie können die PDO-Erweiterung und SQL-Anweisungen von PHP zum Speichern von Daten verwenden. Der spezifische Code lautet wie folgt:

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();
}

Der obige Code analysiert den Inhalt des $tweets-Arrays und speichert die angegebenen Daten in der Datenbanktabelle tweets.

5. Vollständiger Code

rrree

6. Hinweise

Die Twitter-API ist begrenzt und jede Anwendung kann nur eine bestimmte Anzahl von Anfragen alle 15 Minuten initiieren. Zu häufige Anfragen führen dazu, dass die API fehlschlägt.
  1. Die von der Twitter-API zurückgegebenen Daten liegen im JSON-Format vor und müssen mit der Funktion json_decode analysiert werden.
  2. Es wird empfohlen, Twitter-Daten zur späteren Analyse und Verarbeitung in der Datenbank zu speichern.
  3. 7. Zusammenfassung

In diesem Artikel wird erläutert, wie Sie mit PHP einen einfachen Twitter-Crawler schreiben und die Daten in der Datenbank speichern. Obwohl die Verwendung der Twitter-API den Prozess der Datenerfassung erheblich vereinfachen kann, müssen Sie dennoch auf die Einschränkungen der API und des Datenanalyse- und -speicherprozesses in der tatsächlichen Entwicklung achten. Das Erlernen und Beherrschen dieser Grundkenntnisse kann eine gute Grundlage für die zukünftige Datenanalyse und -verarbeitung bilden.

Das obige ist der detaillierte Inhalt vonPHP-Crawler-Praxis: Crawlen von Daten auf Twitter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn