Могу ли я использовать cURL для захвата таблицы HTML? - PullRequest
3 голосов
/ 07 августа 2009

Я пытаюсь использовать cURL, чтобы захватить внешнюю веб-страницу для размещения на моем собственном веб-сайте, это в основном «лестница» спортивной команды, я связался с ними, но у них нет RSS-канала лестницы, так что я пытаюсь получить лестницу другими способами, возможно ли перехватить все между

с помощью cURL? Я могу получить нужную страницу, используя следующий код, но мне больше ничего не нужно, кроме таблицы HTML.
$ch = curl_init ("http://www.sportingpulse.com/rpt_ladder.cgi?results=N&round=15&client=1-3909-47801-81021-6151461&pool=-1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo $page = curl_exec($ch);

Если бы кто-нибудь мог мне помочь, это было бы здорово. Спасибо

Лианы

Ответы [ 3 ]

5 голосов
/ 07 августа 2009

Хорошо, так что мне удалось заставить его работать, используя это (если кто-то еще хочет знать)

$ch = curl_init ("http://www.sportingpulse.com/rpt_ladder.cgi?results=N&round=15&client=1-3909-47801-81021-6151461&pool=-1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$page = curl_exec($ch);

preg_match('#<table[^>]*>(.+?)</table>#is', $page, $matches);
foreach ($matches as &$match) {
    $match = $match;
}
echo '<table>';
    echo $matches[1];
echo '</table>';

:)

2 голосов
/ 07 августа 2009

Вам нужно будет использовать curl для захвата содержимого страницы и обработки строк для извлечения таблицы из возвращенной строки.

Простое регулярное выражение для запуска будет:

/<table>(.*)<\/table/s

Итак, если вы возьмете свой пример выше, вы сделаете что-то вроде:

$page = curl_exec($ch);

if (preg_match("/<table>(.*)<\/table/s", $page, $matches)) {
    echo $matches[1];
}

Этот код будет соответствовать первой таблице на странице. Вам нужно настроить его так, чтобы он точно соответствовал HTML, который вы хотите извлечь.

1 голос
/ 07 августа 2009

Альтернативным вариантом чистого регулярного выражения будет использование DOMDocument и xPath. Это превращает весь документ в объект и облегчает работу с содержимым таблицы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...