Перестал работать запрос по AJAX, поэтому написал парсер для страницы
https://yandex.ru/maps/org/{organization_id}/reviews/
Для начала напишем простейшую функцию для запроса cURL
function getRequestResult($request){
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$request);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close($ch);
return $server_output;
}
$org_url='https://yandex.ru/maps/org/{&organization_id}/reviews/';
$html=getRequestResult($org_url);
Получили огромный HTML страницы, давайте обрежем его. Нам нужно содержимое div с классом
reviews-view__reviews.
$pos=strpos($html,'<div class="reviews-view__reviews">');
$part=substr($html,$pos);
$pos2=strpos($part, '</section>');
$part=substr($fx,0,$pos2);
Далее, используя любой HTML парсер, добиваемся нужного результата. Я использовал
Simple HTML DOM
require_once("simple_html_dom.php");
$html=str_get_html($part);
if(count($html->find('.business-review-view'))){
foreach($html->find('.business-review-view') as $div){
//Значит, нашли отзыв
$review=[];
//Ищем автора
if(count($div->find('.business-review-view__author a'))){
$reviewAuthor=$div->find('.business-review-view__author a span')[0]->innertext;
$review['author']=$reviewAuthor;
}
if(count($div->find('.business-review-view__author meta'))){
$reviewImage=$div->find('.business-review-view__author meta')[0]->content;
$review['image']=$reviewImage;
}
if(count($div->find('.business-review-view__date'))){
$reviewDate=$div->find('.business-review-view__date meta')[0]->content;
$review['date']=$reviewDate;
}
if(count($div->find('.business-review-view__body-text'))){
$reviewText=$div->find('.business-review-view__body-text')[0]->innertext;
$review['text']=$reviewText;
}
$reviews[]=$review;
}
}
В итоге, получаем в массив
reviews такие данные: аватар пользователя, имя, дата публикации отзыва и, собственно, текст отзыва.
Лучше не использовать этот код постоянно, данные лучше кешировать и при необходимости вытаскивать их из кеша
Yandex всегда может поменять html код и тогда метод не будет работать