Вы правы, просто вы имеете в виду свои html-теги, которые имеют класс tr
, и, как я видел в вашем html, у вас его нет, поэтому у вас нет «успеха».
Проверьте это, вы можете получить доступ к каждому из ваших элементов tr
и получить текст внутри таким образом:
$crawler->filter('tr')->each(function($node) {
print_r($node->text());
});
Обратите внимание, что вывод представляет собой node
, поэтому вы не можете использовать echo
, и здесь я использую только tr
, чтобы сделать ссылку на элемент.
А еще можно сделать так, вот это больше похоже на то, что вы хотели получить:
$crawler->filter('tr')->each(function($node) {
$node->filter('td')->each(function($nested_node) {
echo $nested_node->text() . "\n";
});
});
Это означает, что все tr
поверх каждого tr
получают свои td
, а затем поверх этих td
элементов получают текст внутри.
И все, это код.
<?php
require __DIR__ . '/vendor/autoload.php';
use Goutte\Client;
$client = new Client();
$crawler = $client->request('GET', 'your_url');
$crawler->filter('tr')->each(function($node) {
print_r($node->text());
});
$crawler->filter('tr')->each(function($node) {
$node->filter('td')->each(function($nested_node) {
echo $nested_node->text() . "\n";
});
});
Надеюсь, поможет.
person
Sebastian Palma
schedule
06.05.2017