Найти - Пользователи
Полная версия: перегнать Javascript массив в Python
Начало » Web » перегнать Javascript массив в Python
1
alphaville
Скачиваю HTML страницу в коде которой задаются Javascript массивы:

var ALLTYPES = new Array();
ALLTYPES['639100'] = new Type('639100','35','35'); // 35
ALLTYPES['639102'] = new Type('639102','80','80'); // 80
ALLTYPES['639111'] = new Type('639111','25','25'); // 25
ALLTYPES['639092'] = new Type('639092','55','55'); // 55
ALLTYPES['639108'] = new Type('639108','30','30'); // 30


var OUTGOESTYPES = new Array();
OUTGOESTYPES.push(new Flight('49654031'));
OUTGOESTYPES[0].addType(cloneType('639100'));
OUTGOESTYPES[0].addType(cloneType('639102'));
OUTGOESTYPES[0].addType(cloneType('639111'));
OUTGOESTYPES[0].addType(cloneType('639092'));

OUTGOESTYPES.push(new Flight('49654032'));
OUTGOESTYPES[1].addType(cloneType('639108'));
OUTGOESTYPES[1].addType(cloneType('639100'));
OUTGOESTYPES[1].addType(cloneType('639102'));
OUTGOESTYPES[1].addType(cloneType('639092'));

OUTGOESTYPES.push(new Flight('49654033'));
OUTGOESTYPES[2].addType(cloneType('639100'));
OUTGOESTYPES[2].addType(cloneType('639102'));
OUTGOESTYPES[2].addType(cloneType('639092'));

OUTGOESTYPES.push(new Flight('49654034'));
OUTGOESTYPES[3].addType(cloneType('639108'));
OUTGOESTYPES[3].addType(cloneType('639100'));
OUTGOESTYPES[3].addType(cloneType('639102'));
OUTGOESTYPES[3].addType(cloneType('639092'));
Есть ли готовые средства, которые могли бы перегнать это в словарь с кортежем? Да ещё желательно и комментарии туда же захватить.
Psixo
import re
Не подойдёт под задачу?
alphaville
Psixo
import re
Не подойдёт под задачу?
Подойдёт конечно. Но надеялся, что есть готовые решения.
denz
Зачем re??? просто запользовать json сериализатор (http://www.json.org/json2.js, запускать чз букмарклет например), результат которого потом парсить питоническим парсером.
bw
JSON не знает, что такое new Array, .push, .addType и т.д. Здесь поможет только интерпретатор JS. Хотя, если этот код немного модифицировать (убрать new, например), то его можно передать и Python интерпретатору, разумеется в обоих случаях контекст должен быть подготовлен (Array, Type, Flight и все те методы из воздуха не материализуются).

..bw
denz
bw
JSON не знает, что такое new Array, .push, .addType и т.д.

..bw
Насколько я понял, перегнать надо конечный массив, а не способ его формирования. Все эти addType вроде вызваны, отже както модифицировали массив.
При этом, конечено, в массиве останутся непонятные типы (типа Flight), которые надо будет както питону “объяснить”, и неважно какой путь будет иcпользован.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB