Форум сайта python.su
Скачиваю 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'));
Отредактировано (Июль 18, 2009 21:52:43)
Офлайн
import re
Офлайн
PsixoПодойдёт конечно. Но надеялся, что есть готовые решения.Не подойдёт под задачу?import re
Офлайн
Зачем re??? просто запользовать json сериализатор (http://www.json.org/json2.js, запускать чз букмарклет например), результат которого потом парсить питоническим парсером.
Офлайн
JSON не знает, что такое new Array, .push, .addType и т.д. Здесь поможет только интерпретатор JS. Хотя, если этот код немного модифицировать (убрать new, например), то его можно передать и Python интерпретатору, разумеется в обоих случаях контекст должен быть подготовлен (Array, Type, Flight и все те методы из воздуха не материализуются).
..bw
Офлайн
bwНасколько я понял, перегнать надо конечный массив, а не способ его формирования. Все эти addType вроде вызваны, отже както модифицировали массив.
JSON не знает, что такое new Array, .push, .addType и т.д.
..bw
Отредактировано (Июль 22, 2009 10:26:54)
Офлайн