Я использую ParseHub для получения данных с веб-сайта на основе Ajax. Данные возвращаются в формате файла json. Я пытался напечатать возвращенный файл JSON в течение нескольких часов, но не смог добиться успеха. Вот мой PHP-код:
<?php
header('Content-Type: application/json;charset=utf-8');
$params = http_build_query(array(
"api_key" => "xxxxx",
"format" => "json"));
$result = file_get_contents(
'https://www.parsehub.com/api/v2/projects/{MY_RUN_TOKEN}/last_ready_run/data?'.$params,
false,
stream_context_create(array(
'http' => array(
'method' => 'GET'
)
))
);
echo $result;?>
Кстати, функция json_decode () не работала. Может кто-нибудь мне помочь?
ОБНОВЛЕНИЕ: я загрузил код и вывод кода. Вы можете проверить, чтобы дать некоторые идеи.
Код -> это ссылка на сайт
Выход -> это ссылка на сайт
Content-Encoding этого ответа всегда gzip.
Попробуй использовать gzdecode функция для вашей переменной $ result. А затем декодировать его с помощью json_decode ().
Обратите внимание, что для этого требуется версия PHP 5> = 5.4.0 или PHP 7.
Также вы можете попробовать использовать Parsehub REST API-класс оболочки.
Других решений пока нет …