Преобразовать в массив json

12
M9
На сайте с 15.05.2014
Offline
79
1518

помогите есть такой код:

<?php
$data = array(
'iframe_delete'=>'true',
'varname'=> 'intelSearchData',
'__number'=> '2',
'keyword'=> 'камера'//$id,
);

$cookies=tmpfile();
$ch = curl_init("http://ru.aliexpress.com");
curl_setopt($ch, CURLOPT_USERAGENT, 'IE20');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookies);//используем куки
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookies);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_exec($ch);
curl_setopt($ch,CURLOPT_URL,'http://connectkeyword.aliexpress.com/lenoIframeJson.htm?'.http_build_query($data));
$page=curl_exec($ch);
curl_close($ch);
//$json = substr($page,5,-1);
print_r($page);

?>

надо это Преобразовать в массив json как это сделать?

ДП
На сайте с 23.11.2009
Offline
203
#1

что у вас этот код выводит? наверно всё-таки надо то, что у вас в $page оказывается преобразовать из json в массив?

M9
На сайте с 15.05.2014
Offline
79
#2
Дикий пионер:
что у вас этот код выводит? наверно всё-таки надо то, что у вас в $page оказывается преобразовать из json в массив?

Надо бы Преобразовать в json массив, что код выводить можно смотреть здесь

LEOnidUKG
На сайте с 25.11.2006
Offline
1771
#3
Надо бы Преобразовать в json массив, что код выводить можно смотреть здесь

А теперь можно ещё раз, но по-русски, а не набор слов не связанных.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
C
На сайте с 26.10.2013
Offline
54
#4

Ну кодом ТС отправляет запрос на

http://connectkeyword.aliexpress.com/lenoIframeJson.htm?iframe_delete=true&varname=intelSearchData&__number=2&keyword=%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0

В ответе получает

window.intelSearchData = {

"keyWordDTOs":[ {keywords: 'камера заднего вида', catId: '202005984',catName: 'Камеры заднего вида', isHistory: false, isHasCat: true, isGeneral: false, count: '51842'},

{keywords: 'камера заднего вида', catId: '202003051',catName: 'Парковочные системы', isHistory: false, isHasCat: true, isGeneral: false, count: '51842'},

{keywords: 'камера заднего вида', catId: '202040838',catName: 'Сумки для походов', isHistory: false, isHasCat: true, isGeneral: false, count: '51842'},

{keywords: 'камера заднего вида', catId: '',catName: '', isHistory: false, isHasCat: false, isGeneral: true, count: '51,842'},

{keywords: 'камера', catId: '',catName: '', isHistory: false, isHasCat: false, isGeneral: true, count: '1,351,145'},

{keywords: 'камера видеонаблюдения', catId: '',catName: '', isHistory: false, isHasCat: false, isGeneral: true, count: '83,694'},

{keywords: 'камера заднего вида с монитором', catId: '',catName: '', isHistory: false, isHasCat: false, isGeneral: true, count: '11,722'},

{keywords: 'камера заднего вида для авто', catId: '',catName: '', isHistory: false, isHasCat: false, isGeneral: true, count: '54,332'},

{keywords: 'камера для рыбалки', catId: '',catName: '', isHistory: false, isHasCat: false, isGeneral: true, count: '1,966'},

{keywords: 'камера go pro', catId: '',catName: '', isHistory: false, isHasCat: false, isGeneral: true, count: '14,283'},

{keywords: 'камера заднего вида с зеркалом', catId: '',catName: '', isHistory: false, isHasCat: false, isGeneral: true, count: '8,011'},

{keywords: 'камера наблюдения', catId: '',catName: '', isHistory: false, isHasCat: false, isGeneral: true, count: '1,223,103'},

{keywords: 'камера заднего хода', catId: '',catName: '', isHistory: false, isHasCat: false, isGeneral: true, count: '35,435'},

]

};

Что он имел ввиду под json я так и не понял

Услуги по парсингу данных (/ru/forum/939826), единоразовый и регулярный сбор данных. Любые объемы. Скрипты на PHP, создание и доработка, решение проблем с сайтами Пишите в личные сообщения или скайп
LovelAss
На сайте с 05.06.2009
Offline
96
#5

preg_match_all и json_encode вам в помощь.

M9
На сайте с 15.05.2014
Offline
79
#6
LovelAss:
preg_match_all и json_encode вам в помощь.
json_encode

не помогает

VHS
На сайте с 28.09.2007
Offline
142
VHS
#7

Задача размытая, с учетом того, что это и есть json-представление, в массив чего его преобразовать нужно - непонятно.

json_decode, возможно, просто непонятно что нужно получить в итоге...

A
На сайте с 19.07.2010
Offline
130
#8
VHS:
Задача размытая, с учетом того, что это и есть json-представление, в массив чего его преобразовать нужно - непонятно.
json_decode, возможно, просто непонятно что нужно получить в итоге...

Это джейсон-представление понимают многие(например JS), но не PHP.

Обработка джейсона в пхп - это еще ТАААА нелепая и долгая история. При малейшем чихе эта твАрынка безвучно дохнет. :(

Чтобы "чудо-парсер" json_decode съел данные, нужно привести в понятный ему вид, например руками привер первую строчку.

Было

{keywords: 'камера заднего вида', catId: '202005984',catName: 'Камеры заднего вида', isHistory: false, isHasCat: true, isGeneral: false, count: '51842'}

Надо

{"keywords": "камера заднего вида", "catId": "202005984","catName": "Камеры заднего вида", "isHistory": false, "isHasCat": true, "isGeneral": false, "count": "51842"}

т.е.

1. никаких одинарных кавычек - только двойные

2. все ключи в двойные кавычки

3. убрать начало "window.intelSearchData = "

Как по мне, то намного проще распарсить это самому при помощи регулярок - будет более предсказуемый результат.

.............
M9
На сайте с 15.05.2014
Offline
79
#9
admak:
Это джейсон-представление понимают многие(например JS), но не PHP.
Обработка джейсона в пхп - это еще ТАААА нелепая и долгая история. При малейшем чихе эта твАрынка безвучно дохнет. :(

Чтобы "чудо-парсер" json_decode съел данные, нужно привести в понятный ему вид, например руками привер первую строчку.
Было


Надо


т.е.
1. никаких одинарных кавычек - только двойные
2. все ключи в двойные кавычки
3. убрать начало "window.intelSearchData = "

Как по мне, то намного проще распарсить это самому при помощи регулярок - будет более предсказуемый результат.

Спасибо вам по пробую так и сделать, я не думал что есть разница что одинарный что двойные хм...

---------- Добавлено 04.04.2016 в 13:41 ----------

что то не получается вот

PA
На сайте с 12.02.2016
Offline
24
#10
mega94:
что то не получается вот

в этом куске у вас обрывок от джейсона и не объявлен массив.

начало должно выглядеть так:

{"aa":[{"keywords": "камера заднего вида",.....

концовка

isGeneral": true, "count": "35,783"}]}

выделил жирным недостающее.

. . .
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий