La bourse a toujours été un sujet de grande préoccupation. Les hausses, baisses et variations quotidiennes des actions affectent directement les décisions des investisseurs. Si vous souhaitez comprendre les derniers développements du marché boursier, vous devez obtenir et analyser les informations boursières en temps opportun. La méthode traditionnelle consiste à ouvrir manuellement les principaux sites Web financiers pour afficher les données boursières une par une. Cette méthode est évidemment trop lourde et inefficace. À l’heure actuelle, les robots d’exploration sont devenus une solution très efficace et automatisée.
Ensuite, nous montrerons comment utiliser PHP pour écrire un programme simple d'analyse boursière afin d'obtenir des données boursières.
Avant d'écrire le programme de robot d'exploration, vous devez préparer le travail suivant :
Parmi eux, la bibliothèque de requêtes HTTP est utilisée pour envoyer des requêtes HTTP afin d'obtenir le code source HTML du site Web cible ; HTML DOM est utilisé pour analyser et parcourir les pages HTML ; Documents XML et HTML.
Avant de commencer à écrire le programme d'exploration, nous devons connaître l'URL du site Web cible et le code stock qui doit être obtenu. En prenant Sina Finance comme exemple, l'URL de ses données boursières est la suivante :
http://finance.sina.com.cn/realstock/company/sh600000/nc.shtml
Parmi elles, sh600000 représente le code boursier de la Bourse de Shanghai. De même, le code boursier de la Bourse de Shenzhen commence par sz. Nous pouvons créer une URL basée sur le code stock dont nous avons besoin et utiliser la bibliothèque de requêtes HTTP pour obtenir le code source HTML.
Après avoir obtenu le code source HTML, nous devons utiliser l'analyseur HTML DOM pour analyser la page HTML et utiliser la syntaxe XPath pour filtrer les données boursières requises. Dans cet exemple, nous devons filtrer le nom et le prix actuel de l'action.
Enfin, nous pouvons imprimer les données de stock obtenues. Le code spécifique est le suivant :
$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;
Avant d'exécuter le test, nous devons nous assurer que la bibliothèque de requêtes HTTP et les extensions associées ont été installées dans l'environnement PHP local. En prenant le système Windows comme exemple, vous pouvez l'installer avec la commande suivante :
composer require php-http/guzzle6-adapter composer require php-http/message
Ensuite, nous pouvons essayer d'obtenir les données boursières de l'indice composite de Shanghai (code boursier 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;
Après avoir exécuté le code, nous Vous pouvez voir le résultat de l'indice composite de Shanghai sur la console. Informations sur les prix actuels de l'indice.
Le code ci-dessus n'est qu'un exemple simple. Dans les applications réelles, les facteurs suivants doivent être pris en compte pour l'optimisation :
En bref, l'écriture de programmes d'exploration de stocks doit prendre en compte de nombreux aspects tels que la sécurité, l'efficacité et la praticité, et doit être conçue et mise en œuvre pour obtenir les meilleurs résultats.
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!