Парсинг по пунктам — название, жанр, год и т.д. Как реализовать?

Добрый времени суток!
Задача: спарсить данные с этого сайта, а именно нужно достать список игр(название игры, жанр, дату, оценку) и вывести как массив. Должно выглядеть как:
array(
  array(
    'name' => 'Far Cry'
    'genre' => 'action',
    // максимально много информации с сайта
  ),
  array(genre
    'name' => 'Diablo'
    'genre' => 'RPG',
    // максимально много информации с сайта
  )
)

Использую я библиотеку simple-html-dom, вот, что написал:
$link = 'http://gamer-info.com/games/';

		$data = file_get_html($link);

		$title = array();
		$genre_arr = array();
		$date_arr = array();

		foreach($data->find('.name') as $name){
			$title['name'][] = $name->plaintext;
		}	
		foreach($data->find('.genre') as $genre){
			$genre_arr['genre'][] = $genre->plaintext;
		}
		foreach($data->find('.dates') as $date){
			$date_arr['date'][] = $date->plaintext;
		}		
		print_r($title);
		print_r($genre_arr);
		print_r($date_arr);

Но выводит:
Array(
     [name] => Array(
                        [0] => Far Cry
                        [1] => Call of Cthulhu
                        и т.д
     )
)
Array(
       [genre] => Array(
                [0] => action/FPS
                [1] => RPG / ужасы
      )
)
Ну и с остальными пунктами точно также. Использую библиотеку simple-html-dom.
Вопрос: Как выводить каждую игру с жанром,датой,оценкой,лого по отдельности?
Что делать?
Спасибо большое за помощь:)
  • Вопрос задан
  • 210 просмотров
Решения вопроса 1
Frunky
@Frunky Автор вопроса
Решил проблему следующим образом:
foreach($data->find('.games-list-v1 .it') as $game){
			$item['title'] = $game->find('.name',0)->plaintext; 
			$item['genre'] = $game->find('.genre',0)->plaintext; 
			$item['date'] = $game->find('.dates',0)->plaintext; 
			$item['logo'] = $game->find('.logo',0)->plaintext; 
			$articles[] = $item;
		}
		print_r($articles);

Всем спасибо
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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