Парсинг JavaSript — как?
Дано: страница заказа, в которой куча полей вычисляется яваскриптом, причём, одна переменная достаётся через множество вложенных функций, размазанных по нескольким файлам. Распарсить это простым PHP разборщиком не представляется возможным. Сразу скажу, что парсим мы свои же данные, находящиеся на заокеанском сервере очень серьёзной и неприступной конторы. Это я к тому, что проще написать свой обработчик, чем просить XML у вендора :)
В связи с чем вопрос: есть ли на данный момент какие-то способы взять результирующий DOM после отработки JavaScript, примерно в том виде, что мы можем наблюдать в Firebug?
В моём распоряжении — веб-сервера с полным доступом под FreeBSD и Debian. Сам кожу под Ubuntu 10.10.
Как вариант: написать простой тулбар для фаерфокса — тогда как взять у фаерфокса результирующий DOM и сохранить его на энном удалённом хосте? Идеальный вариант — менеджер нажимает кнопку на тулбаре и дело сделано (в смысле, данные со страницы распарсились и ушли куда-то).
Картинка вот:
http://img203.imageshack.us/i/82117234.png/
А обычный innerHTML после обработки JS для целевого тега разве не берет данные из обновленного DOM?
На крайний случай, если innerHTML не подходит, то остается только перебор дерева DOM.
Посчет расширений для мозиллы не знаю)
innerHTML-то берет, но как я понял Суть в том, что сайт в одном месте, а скрипт что забирать будет совершенно в другом месте.
Цитата: Lone Wolf
innerHTML-то берет, но как я понял Суть в том, что сайт в одном месте, а скрипт что забирать будет совершенно в другом месте.
Именно. Потому способа вижу два: шаманство на клиенте — кнопка, user.js — и неполный черезжопный парсинг CURL-ом.
Далее уже можно просто создать JS-код, который все и решит, т.е. создать какое-то плавающее окошко, кнопочку и по нажатию кнопочки будет происходить забор innerHTML, парсинг и отправка (тем же AJAX). Ну это если не хочется возиться с написанием расширения. В целом, все то же самое можно и расширением написать, если охото тратить время на их изучение =)
Думаю, что тут проще всего будет написание аддона к firefox.