デジタル時代において、ソーシャルメディアは人々の生活に欠かせないものになりました。 Twitter もその 1 つで、毎日数億人のユーザーがさまざまな情報を共有しています。研究、分析、プロモーションなどのニーズによっては、Twitter 上で関連データを取得することが非常に必要になります。この記事では、PHP を使用して、キーワード関連データをクロールしてデータベースに保存する簡単な Twitter クローラーを作成する方法を紹介します。
1. Twitter API
Twitter は、開発者が関連データを取得するための公式 API (アプリケーション プログラミング インターフェイス) インターフェイスを提供します。 Twitter の API を使用するには、事前にアプリケーション (App) を作成し、Consumer Key、Consumer Secret、Access Token、Access Token Secret などのアプリケーションの関連パラメータを取得する必要があります。具体的な適用方法についてはここでは説明しません。
2. Twitter API ライブラリのインストール
Twitter API は、Twitter API の使用プロセスを簡素化できる開発アクセス ライブラリ (PHP ライブラリ) を公式に提供しています。この記事では、このライブラリを使用して Twitter データを取得します。 Twitter API ライブラリをインストールするにはさまざまな方法がありますが、ここでは、composer を使用して依存関係を管理する方法を紹介します。具体的な手順は次のとおりです。 PHP 用の管理ツールを使用すると、対応するオペレーティング システムのインストール パッケージをダウンロードできます。
2.composer を使用して Twitter API ライブラリをインストールする
コマンド ライン ウィンドウに次のコマンドを入力して、Twitter API ライブラリをプロジェクト ディレクトリにインストールします:
combos require abraham/twitteroauth3. Twitter データの取得Twitter API を使用したデータのクロールは、認証とクエリの 2 つのステップに分かれています。認証が完了したら、以下に示すように、クエリコマンドを使用して指定した Twitter データを取得できます。
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));
上記のコードは、「php」に関連する最新の 100 件のツイート (ツイート) を取得し、保存することができます。結果は $tweets 変数になります。
4. データの解析と保存
Twitter データを取得したら、データを解析して保存する必要があります。この例では MySQL データベースを使用しており、PHP の PDO 拡張機能と SQL ステートメントを使用してデータを保存できます。具体的なコードは次のとおりです。
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(); }
上記のコードは、$tweets 配列の内容を解析し、指定されたデータをデータベース テーブル tweet に保存します。
5. 完全なコード
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. 注意事項
Twitter API には制限があります。各アプリケーションは 15 分ごとに一定数のリクエストしか開始できません。リクエストが多すぎると、API が失敗する原因になります。 Twitter API によって返されるデータは JSON 形式であるため、json_decode 関数を使用して解析する必要があります。- その後の分析と処理のために、Twitter データをデータベースに保存することをお勧めします。
- 7. 概要
- この記事では、PHP を使用して簡単な Twitter クローラーを作成し、データをデータベースに保存する方法を紹介します。 Twitter API を使用するとデータ取得のプロセスを大幅に簡素化できますが、実際の開発では API の制限とデータの解析と保存のプロセスに注意する必要があります。これらの基本的なスキルを学習して習得することは、将来のデータ分析と処理のための優れた基盤となります。
以上がPHP クローラーの練習: Twitter 上のデータをクローリングするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

区块链技术的迅速发展带来了对可靠且高效的分析工具的需求。这些工具对于从区块链交易中提取有价值的见解至关重要,以便更好地理解和利用其潜力。本文将探讨市场上一些领先的区块链数据分析工具,包括他们的功能、优势和局限性。通过了解这些工具,用户可以获得必要的见解,最大限度地利用区块链技术的可能性。

在数字化时代下,社交媒体已经成为人们生活中不可或缺的一部分。Twitter作为其中的代表,每天有数亿用户在上面分享各种信息。对于一些研究、分析、推销等需求,获取Twitter上的相关数据是非常必要的。本文将介绍如何使用PHP编写一个简单的Twitter爬虫,爬取一些关键字相关的数据并存储在数据库中。一、TwitterAPITwitter提供

随着互联网的发展,第三方登录已经成为了许多网站和应用中不可或缺的一部分。LaravelSocialite是Laravel框架中一个非常流行的社交登录扩展,可以方便地实现Facebook、Twitter、Google、GitHub等社交媒体平台的登录。在本文中,我们将会介绍如何使用LaravelSocialite和Twitter实现第三方

Apple 今天宣布了3 月 8 日的第一个 2022 年特别活动,其标语是“Peek performance”。现在,当您使用官方#AppleEvent 标签发布内容时,该公司已在 Twitter 上添加了一个新的标签图标。hashflag 是 Twitter 上一些特殊主题标签旁边显示的图标。这一次,hashflag 显示了 Apple 标志以及活动邀请中使用的颜色。值得注意的是,Apple 过去曾多次使用此功能,例如在2021 年 9 月的特别活动中,该公司推出了 iPhone 13 和

DeepSeek,一个综合性的搜索引擎,提供来自学术数据库、新闻网站和社交媒体的广泛结果。访问 DeepSeek 的官方网站 https://www.deepseek.com/,注册一个帐户并登录,然后就可以开始搜索了。使用特定关键词、精确短语或高级搜索选项可以缩小搜索范围并获得最相关的结果。

Bitget 交易所提供多种登录方式,包括电子邮件、手机号和社交媒体账户。本文详细介绍了每种登录方式的最新入口和步骤,包括访问官方网站、选择登录方式、输入登录凭证和完成登录。用户在登录时应注意使用官方网站并妥善保管登录凭证。

此加密货币并非真正具有货币价值,其价值完全依赖于社区支持。投资者在投资前务必谨慎调研,因为它缺乏实际用途和吸引人的代币经济模型。由于该代币于上月发行,投资者目前只能通过去中心化交易所购买。MRI币实时价格$0.000045≈¥0.00033MRI币历史价格截至2025年2月24日13:51,MRI币价格为$0.000045。下图显示了该代币在2022年2月至2024年6月期间的价格走势。MRI币投资风险评估目前MRI币未在任何交易所上市,且价格已归零,无法再进行购买。即使该项目

在当今世界,社交媒体平台已经成为人们获取信息、交流武器方便快捷的工具。其中Twitter作为全球最大的微博客平台之一,吸引了大量用户,为热点事件的传播、新闻报道、情感交流等方面提供了巨大的价值。因此,学会如何使用编程语言爬取Twitter数据是非常有必要的。本文将着重介绍如何使用PHP程序语言爬取Twitter数据。PHP是一种广泛使用的服务器端脚本语言,适


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
