Récupérer un "a href" avec DOM
J'ai le tableau suivant (ici, je n'affiche qu'une ligne pour des soucis de lisibilité) dans une url distante.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <table id="tablepress-851" class="tablepress tablepress-id-851">
<thead>
<tr class="row-1 odd">
<th class="column-1">N°</th>
<th class="column-2"> </th>
<th class="column-3">Chaine</th>
<th class="column-4">Evolution Abonnés</th>
<th class="column-5">Abonnés</th><th class="column-7">Vues</th>
</tr>
</thead>
<tbody class="row-hover">
<tr class="row-2 even">
<td class="column-1" style="vertical-align:middle;"><strong>1</strong></td>
<td class="column-2" style="vertical-align:middle;"><a href="https://www.youtube.com/user/aMOODIEsqueezie" target="_blank"><img src="https://yt3.ggpht.com/-PZerjsxPjTQ/AAAAAAAAAAI/AAAAAAAAAAA/209pUVEYY80/s88-c-k-no/photo.jpg" width="68" height="68" class="alignnone" border="0" /></a></td>
<td class="column-2" style="vertical-align:middle;"><a href="https://www.youtube.com/user/aMOODIEsqueezie" target="_blank"><strong>SQUEEZIE</strong></a></td>
<td class="column-4" style="vertical-align:middle;">231 301</td>
<td class="column-5" style="vertical-align:middle;">8 576 763</td>
<td class="column-6" style="vertical-align:middle;">3 785 925 482</td>
</tr>
</tbody> |
Je cherche à parser ce tableau et donc récupérer les données de chaque ligne/colonne, notamment l'url et le lien vers l'imagette. J'ai essayé avec la ligne en gras mais ça ne fonctionne pas.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <?php
$content = file_get_contents($url);
$dom = new DOMDocument();
$dom->loadHTML($content);
$tables = $dom->getElementsByTagName('table');
$table = $tables->item(0);
$rows = $table->getElementsByTagName("tr");
foreach ($rows as $row) {
$cells = $row -> getElementsByTagName('td');
$classement = $cells->item(0)->nodeValue;
$nom = $cells->item(2)->nodeValue;
$url_chaine=$cells->item(2)->getAttribute('href')->item(0)->nodeValue;
$nb_abonnes = $cells->item(4)->nodeValue;
$nb_vues = $cells->item(5)->nodeValue;
echo $url_chaine;
}
?> |
J'ai l'erreur suivante: Fatal error: Call to a member function getAttribute() on a non-object in /var/www/wordpress/dlweb-doc/influence_panel.php on line 16
Merci.