Valonix
@Valonix
Back end / Front end developer

Как получить список комментариев с помощью phpQuery?

Пытаюсь освоить парсинг с помощью phpQuery.
Заголовки, картинки я получил. Интересует вот что- на каждой отдельной странице есть блок с комментариями.
Вот картинка с кодом HTML
kiss_88kb.1409577318.png
Вопрос - как подобраться к каждому типа itemprop="author" и т.д.
Чтоб в итоге был подобный массив
Array
(
[src] => картинка
[title] => Имя
[comments] => Array
(
[comment_name] => Имя,
[comment_data]=> дата,
[comment_text]=> текст,



)

)

ссылка на полную картинку ipic.su/img/img7/fs/kiss_88kb.1409577318.png

код парсера
<?php 
include('phpQuery.php');
$file = file_get_contents("http://masite/sitemap.xml");

preg_match_all("/loc>(.*)<\/loc>/Usi", $file, $link);

$count = 10;
$result = array();
for($i=0; $i<$count; $i++){
	$page = $link[1][$i];
	$page = file_get_contents($page);
	$element =$page;
	$html = phpQuery::newDocument($element);
	$s = 0;
	$div_card = $html->find('div.card');
	foreach($div_card as $div){
		$pg = pq($div);
		$img_src = $pg->find("img");
		$pn = pq($img_src);
		$src = $pn->attr('src');
		$item["src"] = $src;
		$h1 = $pg->find("h1");
		$title = pq($h1);
		$item["title"] = $title->text();
		
		$comments = $pg->find('.comment');
		foreach($comments as $comment){
			$com = pq($comment);
                        // пробую через jquery селектор но ничего не находит
			$com_name = $com->find("span[itemprop='name']");
			$name = pq($com_name);
			$item["comments"]["comment_name"] = $name->text();
		}
		$data[] = $item; 
	}
	unset($pg);

}
print_r($data);
  • Вопрос задан
  • 2918 просмотров
Пригласить эксперта
Ответы на вопрос 2
Картинку крупнее давай

Так всё что между span'ов забирайте регулярками, у них же классы разные. В регулярках я не силён, могу дать пример с title
$match = '/<title>(.+?)<\/title>/ism';
Ответ написан
Cinnamoon
@Cinnamoon
$div->find('span[itemprop=author]');
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы