クローラーの実践演習: PHP を使用して株式情報をクロールする
株式市場は常に大きな関心を集めています。日々の株価の上昇、下落、変化は投資家の意思決定に直接影響します。株式市場の最新動向を把握するには、タイムリーに株式情報を入手して分析する必要があります。従来の方法では、主要な金融 Web サイトを手動で開き、株価データを 1 つずつ表示していましたが、明らかに煩雑で非効率的でした。現時点では、クローラーは非常に効率的で自動化されたソリューションになっています。
次に、PHP を使用して、株式データを取得する簡単な株式クローラー プログラムを作成する方法を示します。
準備
クローラプログラムを作成する前に、次の作業を準備する必要があります。
- PHP開発環境のインストール
- PHP関連のインストールHTTP リクエスト ライブラリ
- HTML DOM の基本的な知識を理解する
- XPath 構文を理解する
このうち、HTTP リクエスト ライブラリは、HTTP リクエストを送信するために使用され、ターゲット Web サイトの HTML ソース コードを取得する; HTML DOM は HTML ページの解析と走査に使用されます; XPath は XML および HTML ドキュメント内で選択するための言語です。
プログラミング
クローラー プログラムの作成を開始する前に、ターゲット Web サイトの URL と取得する必要がある株式コードを知っておく必要があります。 Sina Finance を例にとると、その株式データの URL は次のとおりです。
http://finance.sina.com.cn/realstock/company/sh600000/nc.shtml
このうち、sh600000 は上海証券取引所の証券コードを表します。同様に、深セン証券取引所の証券コードは sz で始まります。取得する必要がある株式コードに基づいて URL を構築し、HTTP リクエスト ライブラリを使用して HTML ソース コードを取得できます。
HTML ソース コードを取得した後、HTML DOM パーサーを使用して HTML ページを解析し、XPath 構文を使用して必要なストック データをフィルターで除外する必要があります。この例では、株式の名前と現在の価格をフィルターで除外する必要があります。
最後に、取得した株式データを印刷します。具体的なコードは次のとおりです。
$code = 'sh600000'; // 股票代码 $url = 'http://finance.sina.com.cn/realstock/company/' . $code . '/nc.shtml'; // 构建URL $html = file_get_contents($url); // 获取HTML源码 $dom = new DOMDocument(); @$dom->loadHTML($html); // 解析HTML $xpath = new DOMXPath($dom); $name = $xpath->query('//h1[@class="name"]/text()')->item(0)->nodeValue; // 筛选股票名称 $price = $xpath->query('//span[@class="price"]/text()')->item(0)->nodeValue; // 筛选当前价格 echo $name . '的当前价格为' . $price;
プログラム テスト
テストを実行する前に、HTTP 要求ライブラリと関連拡張機能がローカルの PHP 環境にインストールされていることを確認する必要があります。 Windows システムを例に挙げると、次のコマンドを使用してインストールできます。
composer require php-http/guzzle6-adapter composer require php-http/message
次に、上海総合指数 (銘柄コード sh000001) の株価データを取得してみます。
$code = 'sh000001'; // 上证指数 $url = 'http://finance.sina.com.cn/realstock/company/' . $code . '/nc.shtml'; $client = new HttpAdapterGuzzle6Client(); $request = new HttpMessageRequest('GET', $url); $response = $client->sendRequest($request); $html = $response->getBody()->getContents(); $dom = new DOMDocument(); @$dom->loadHTML($html); // 解析HTML $xpath = new DOMXPath($dom); $name = $xpath->query('//h1[@class="name"]/text()')->item(0)->nodeValue; $price = $xpath->query('//span[@class="price"]/text()')->item(0)->nodeValue; echo $name . '的当前价格为' . $price;
コードを実行すると、コンソールに上海総合指数出力の現在の価格情報が表示されます。
プログラムの最適化
上記のコードは単なる例であり、実際のアプリケーションでは、最適化のために次の要素を考慮する必要があります。ネットワークの問題を処理するか、その他の理由で HTML ソース コードを取得できない。
- プログラムが実行されるたびに HTTP リクエストを送信することを避けるために、最近のアクセスの時点までにキャッシュすることができます。
- 無限ループを通じて複数の株式を監視し、株価が変化したときに自動的に電子メール通知をトリガーできます。
- つまり、株式クローラ プログラムを作成するには、セキュリティ、効率、実用性などの多くの側面を考慮する必要があり、最良の結果を達成するために設計および実装する必要があります。
[PHP HTTP クライアント · php-http.org](http://docs.php-http.org/en/latest/)
- [HTML DOM · w3school.com.cn](https://www.w3school.com.cn/php/php_ref_dom.asp)
- [XPath · zh.wikipedia.org](https:// zh.wikipedia.org/wiki/XPath)
以上がクローラーの実践演習: PHP を使用して株式情報をクロールするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

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

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

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
