ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して Steam ゲーム情報をクロールする

PHP を使用して Steam ゲーム情報をクロールする

王林
王林オリジナル
2023-06-14 17:26:332030ブラウズ

ゲーム業界の発展に伴い、Steam プラットフォームを通じてゲームを購入するゲーマーが増えています。世界最大の PC ゲーム配信プラットフォームである Steam は、豊富なゲーム機能とコミュニティ機能を提供し、世界中から多くのゲーム愛好家を魅了しています。 Steam ゲーム愛好家や Steam ゲーム情報を知りたい開発者向けに、この記事では PHP 言語を使用して Steam ゲーム情報をクロールする方法を紹介します。

1. Steam APIを理解する

Steamでは公式API(Application Program Interface、アプリケーションプログラミングインターフェース)が提供されており、開発者であれば公式APIを利用してゲーム情報を取得することができます。ただし、公式 API を使用するには最初に認証が必要であり、公式 API には多くの制限があります。たとえば、ゲームの価格、評価、推奨事項、その他の情報を取得するには、ユーザーが Steam にログインする必要があります。そこでこの記事では、PHPを使ってSteamのゲーム情報のWebデータをクロールする方法を紹介します。

2. Steam ゲーム ページのソース コードを取得する

PHP を使用して Steam ゲーム情報をクロールする前に、まず Steam ゲーム ページのソース コードを取得する方法を理解する必要があります。 Steam ゲームの詳細ページを開き、ブラウザで開発者ツールを開き、「ネットワーク」タブに切り替え、リクエスト タイプを「すべて」に設定して、ページを更新します。すべてのリクエスト レコードが表示されます。「store.steampowered.com」というリクエストがあり、これが必要なリクエストです。

カーソルをリクエストの下に移動し、右側の「ヘッダー」タブで「リクエスト URL」を見つけます。この URL はゲーム詳細ページの完全なアドレスです。アドレスをコピーして PHP に追加します。 code file_get_contents() 関数を使用して、ページのソース コードを取得します。

3. Steam ゲーム ページのソース コードを解析する

Steam ゲーム情報をクロールする次のステップは、Steam ゲーム ページのソース コードを解析することです。 PHP の DOMDocument クラスと DOMXPath クラスを使用して HTML ドキュメントを解析できます。まず、ダウンロードしたページのソース コードを DOMDocument クラスの loadHTML() メソッドに渡して DOM オブジェクトを作成し、query() メソッドを通じて要素をクエリする必要があります。 DOMXPath クラスの。

次は、Steam ゲームの名前とリリース日を解析できるサンプル コードです:

$url = "https://store.steampowered.com/app/105600/";
$html = file_get_contents($url);

$doc = new DOMDocument();
$doc->loadHTML($html);

$xpath = new DOMXPath($doc);

$name = $xpath->query('//div[@class="apphub_AppName"]')->item(0)->nodeValue;
$date = $xpath->query('//div[@class="date"]')->item(0)->nodeValue;

echo "游戏名字:".$name."
";
echo "发布日期:".$date."
";

上記のコードでは、XPath クエリ言語を使用して Steam 内の要素をクエリします。ゲームページ。このうち、「//@class=」パラメータはクエリする必要があるクラス名を指し、item() メソッドは最初に一致する要素を取得するために使用され、nodeValue 属性は、要素のテキスト内容を取得するために使用されます。

4. Steam ゲームに関する詳細情報をクロールする

これまでの手順を基礎として、同じ方法を使用して Steam ゲームに関する他の情報を取得できるようになります。以下は、一般的な Steam ゲーム情報クエリ Xpath の一部です:

  1. ゲーム価格:
$price = $xpath->query('//div[@class="game_purchase_price"]')->item(0)->nodeValue;
  1. ゲーム評価:
$score = $xpath->query('//div[@class="user_reviews_summary_row"]')->item(0)->getAttribute("data-tooltip-text");
  1. ゲーム開発者およびパブリッシャー:
$developer = $xpath->query('//div[@id="developers_list"]//a')->item(0)->nodeValue;
$publisher = $xpath->query('//div[@id="publishers_list"]//a')->item(0)->nodeValue;
  1. 推奨ゲーム構成:
$config = $xpath->query('//div[@class="sysreq_contents"]')->item(0)->nodeValue;

実際の使用では、ニーズに応じてクエリをカスタマイズできます。ただし、Steam Web サイトの HTML 構造は変更される可能性があるため、コードが正しく実行されるかどうかを確認してください。Web ページの構造が変更された場合は、クエリ メソッドを更新する必要があります。

5. Steam ゲーム情報の送信

Steam ゲーム情報のクロールが完了したら、この情報をデータベースまたはその他のデータ ストレージに送信できます。実際には、IP アドレスや検証コードなどの制限など、クローラー対策メカニズムが適用される可能性があります。そのため、PHP コードを作成するときは、Steam のクローラーに関する規約を遵守し、データ スクレイピング方法を合理的に使用するように注意してください。

結論

この記事では、PHP言語を使用してSteamのゲーム情報をクロールする基本的な方法を紹介します。 DOMDocument や DOMXPath などのテクノロジーを使用すると、ゲーム名、発行元、価格、評価、推奨構成などの有益な情報を Steam ゲーム ページから抽出できます。この記事がクローラー愛好家、Steam ゲーム開発者、Steam プレイヤーに役立つことを願っています。

以上がPHP を使用して Steam ゲーム情報をクロールするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。