Apist - отличная вещь! Позволяет с легкостью парсить страницы, обращайся к элементам в стиле jquery. Пример парсинга Хабра:
public function index()
{
return $this->get('/', [
'title' => Apist::filter('.page_head .title')->text()->trim(),
'posts' => Apist::filter('.posts .post')->each([
'title' => Apist::filter('h1.title a')->text(),
'link' => Apist::filter('h1.title a')->attr('href'),
'hubs' => Apist::filter('.hubs a')->each(Apist::filter('*')->text()),
'author' => [
'username' => Apist::filter('.author a'),
'profile_link' => Apist::filter('.author a')->attr('href'),
'rating' => Apist::filter('.author .rating')->text()
]
])
]);
}
Возвращает данные массивом:
{
"title": "Публикации",
"posts": [
{
"title": "Проверьте своего хостера на уязвимость Shellshock (часть 2)",
"link": "http:\/\/habrahabr.ru\/company\/host-tracker\/blog\/240389\/",
"hubs": [
"Блог компании ХостТрекер",
"Серверное администрирование",
"Информационная безопасность"
],
"author": {
"username": "smiHT",
"profile_link": "http:\/\/habrahabr.ru\/users\/smiHT\/",
"rating": "26,9"
}
},
{
"title": "Курсы этичного хакинга и тестирования на проникновение от PentestIT",
"link": "http:\/\/habrahabr.ru\/company\/pentestit\/blog\/240995\/",
"hubs": [
"Блог компании PentestIT",
"Учебный процесс в IT",
"Информационная безопасность"
],
"author": {
"username": "pentestit-team",
"profile_link": "http:\/\/habrahabr.ru\/users\/pentestit-team\/",
"rating": "36,4"
}
},
...
]
}
Тут подробнее