Maison >développement back-end >tutoriel php >Pratique pratique du robot d'exploration : utiliser PHP pour explorer les informations boursières

Pratique pratique du robot d'exploration : utiliser PHP pour explorer les informations boursières

王林
王林original
2023-06-13 17:32:051404parcourir

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.

Travail de préparation

Avant d'écrire le programme de robot d'exploration, vous devez préparer le travail suivant :

  1. Installer l'environnement de développement PHP
  2. Installer la bibliothèque de requêtes HTTP liée à PHP
  3. Comprendre les connaissances de base du HTML DOM
  4. Être familier avec la syntaxe XPath

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.

Programmation

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;

Test du programme

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.

Optimisation du programme

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 :

  1. Ajoutez une gestion des erreurs pour gérer la situation dans laquelle le code source HTML ne peut pas être obtenu en raison du réseau. ou d'autres raisons.
  2. Peut être mis en cache au moment de l'accès récent pour éviter d'envoyer des requêtes HTTP à chaque fois que le programme est exécuté.
  3. Vous pouvez surveiller plusieurs actions via une boucle infinie et déclencher automatiquement des notifications par e-mail lorsque le cours de l'action change.

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.

Référence

  1. [Client HTTP PHP · php-http.org](http://docs.php-http.org/en/latest/)
  2. [DOM HTML · w3school.com.cn](https: //www.w3school.com.cn/php/php_ref_dom.asp)
  3. [XPath · zh.wikipedia.org](https://zh.wikipedia.org/wiki/XPath)

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn