В настоящее время я пытаюсь использовать xpath для анализа html-страницы с веб-сайта.Использование Xpath для разбора html с веб-сайта
мне нужно, чтобы получить результат в формате:
Дата
Время программы: Название программы
Например:
ОСТ 18
1.00AM: Ye Hai Mohabbatein
Для этого используйте этот код. Но он работает 2 раза.
<?php
$dat="Oct 18";
$ch = curl_init('http://www.starplus.in/schedule.aspx');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$page = curl_exec($ch);
$dom = new DOMDocument;
libxml_use_internal_errors(true);
$dom->loadHTML($page);
libxml_clear_errors();
$xpath = new DOMXPath($dom);
$n=0;
$shows = array();
$tables1 = $xpath->query("//td[@class='bdr_R_dot']");
$tables2 = $xpath->query("//div[@class='sech_div_bg']/table");
foreach ($tables1 as $table1) {
$date = $xpath->query('./span[2]', $table1)->item(0)->nodeValue;
if($date==$dat){
echo "<h1>$date</h1> <br>";
foreach ($tables2 as $table2) {
$time_slot = $xpath->query('./tr[1]/td/span', $table2)->item(0)->nodeValue;
$show_name = $xpath->query('./tr[3]/td/span', $table2)->item(0)->nodeValue;
$shows[] = array('time_slot' => $time_slot, 'show_name' => $show_name);
echo "$time_slot - $show_name <br/>";
}
}
}
?>
Я сделал так много вещей, но мой код выполняется 2 раза, и все данные печатаются два раза. Я буду благодарен, если кто-нибудь поможет мне в этом вопросе.
"Но он работает в 2 раза." можете ли вы прояснить это? – Gordon
Выходной сигнал печатается между временным интервалом 1.00 AM до 12.30 AM для дважды. – JavDev
Вы можете показать фрагмент XML? – Gordon