Récupération données sur une page HTML

Petit nouveau ! | 9 Messages

11 nov. 2023, 14:52

Bonjour,
je cherche à récupérer les numéro du tirage du loto. et ceux du option second tirage.

https://www.fdj.fr/jeux-de-tirage/loto/resultats

j'aimerai bien les récupérer un par un ou les cinq + numéro chance. Aujourd'hui je récupère trop d'information avec :

div.result-full__drawing-content

j'ai essayé pleins de syntaxe mais je bloque. Si quelqu'un a la solution je suis preneur,
merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

12 nov. 2023, 00:13

Essaye l'extension Selector Gadget, disponible sur Chrome, elle est assez efficace pour t'aider à récupérer un sélecteur CSS ou un Xpath adapté :
https://chromewebstore.google.com/detai ... emdmbfginb

Le fonctionnement c'est que tu cliques sur ce qui t'intéresse comme data, ça va te mettre en jaune tout ce que ce sélecteur récupère sur la page, tu peux ensuite cliquer sur les trucs en jaune pour les exclure (ils vont passer en rouge) ou cliquer sur d'autres éléments pour les inclure.
Quand tout le reste a échoué, lisez le mode d'emploi...

Avatar du membre
Mammouth du PHP | 1564 Messages

13 nov. 2023, 00:21

En PHP, cible les liste (ul/li), soit .result-full__list
$contenu_page = '...<div class="result-full__drawing-content">
                    <div class="result-full__drawing-infos">
                        <h2 class="result-full__drawing-subtitle">Résultats Loto<sup>&reg;</sup></h2>

							<ul class="result-full__list">
								<li class="result-full__list-item">
                    <span class="game-ball">17</span>
                </li>
                <li class="result-full__list-item">
                    <span class="game-ball">19</span>
                </li>
                <li class="result-full__list-item">
                    <span class="game-ball">22</span>
                </li>
                <li class="result-full__list-item">
                    <span class="game-ball">25</span>
                </li>
                <li class="result-full__list-item">
                    <span class="game-ball">35</span>
                </li>
                <li class="result-full__list-item has-logo">
                    <img class="result-full__list-item-logo" src="/img/icons/logo-chance-num.svg" alt="numéro chance" width="25" />
                    <span class="game-ball is-special">6</span>
                </li>
              </ul>

    <h2 class="result-full__seconddraw-title">Résultats Option 2nd tirage
        </h2>
    
            <ul class="result-full__list">
              <li class="result-full__list-item">
                        <span class="game-ball is-seconddraw">17</span>
                    </li>
<li class="result-full__list-item">
                        <span class="game-ball is-seconddraw">27</span>
                    </li>
          <li class="result-full__list-item">
                        <span class="game-ball is-seconddraw">32</span>
                    </li>
                                                                                            <li class="result-full__list-item">
                        <span class="game-ball is-seconddraw">36</span>
                    </li>
          <li class="result-full__list-item">
                        <span class="game-ball is-seconddraw">41</span>
                    </li>
										</ul>
 
<div class="result-full__morewinners">
<p class="result-full__morewinners-title">+ 10 codes gagnants à 20 000€<sup>(1b)</sup></p>

            <div class="result-full__morewinners-codes">
<span class="result-full__morewinners-item">D 1390 5340</span>
			<span class="result-full__morewinners-item">I 7703 2700</span>
			<span class="result-full__morewinners-item">J 2658 3169</span>
			<span class="result-full__morewinners-item">J 3761 2821</span>
			<span class="result-full__morewinners-item">J 7182 3570</span>
			<span class="result-full__morewinners-item">J 8463 3157</span>
			<span class="result-full__morewinners-item">O 0655 0115</span>
			<span class="result-full__morewinners-item">R 1267 9333</span>
			<span class="result-full__morewinners-item">S 5593 0432</span>
			<span class="result-full__morewinners-item">T 4074 4074</span>
			</div>
    </div>...';

if(preg_match("#<ul class=\"result-full__list\">.*</ul>#si", $contenu_page, $out)){
	//les deux listes <ul> sont dans $out[0]
}