У меня есть код, который будет обрывать данные с веб-сайта. Вывод что-то вроде этого:
Сельского хозяйства
еды
одежды
Как я только вывести первую/п-й категория, такие как только (сельское хозяйство)? Я попробовалPHP Web Scraping
echo $sub_title[1].'<br/>';
но, похоже, не работает.
Мой код:
<?php
$ch = curl_init('http://www.alibaba.com/Products');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
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');
$html = curl_exec($ch);
$dom = new DOMDocument();
@$dom->loadHTML($html);
$finder = new DOMXPath($dom);
$nodes = $finder->query('//h4[@class="sub-title"]');
foreach ($nodes as $node) {
$sub_title = trim(explode("\n", trim($node->nodeValue))[0]);
echo $sub_title.'<br/>';
}
?>
THx @Ghost. Есть ли способ, когда я мог бы установить каждую из этих категорий в массив автоматически, а не писать так много переменной: $ one = 0; $ two = 1; $ три = 2; ..... поэтому я мог бы просто использовать echo $ sub_title [0]; для вывода каких-либо n-й категории? – Cael
@Cael да его возможно, просто назначьте/нажмите их внутри массива, затем вызовите числовым индексом. проверить версию выше – Ghost
получил! thx за помощь :) – Cael