Работа с DOM на стороне сервера
Здравствуйте. Ситуация следующая - есть клиент-серверное приложение, клиентская часть реализована веб интерфейсом (HTML+JS), сервер - PHP+pgSQL. Приложение уже заполнено данными (около 23 тысяч объектов учета) и стала задача перенести эти данные в другое приложение. Попробовал писать SQL запросы на вытягивание данных, и оказалось, что внутри программы все запущено - каждая запись об объекте учета разбивается на несколько таблиц, во всю используются хранимые процедуры и прочие навороты.
В то же время, интерфейс программы достаточно удобен, и если ручками нажать на кнопку - программа отдает данные в удобном виде, что и пародило идею сгрести данные манипулируя интерфейсом (точнее DOM'ом). Поэтому, требуется совет - как заставить javascript выполняться на сервере, и формировать в памяти DOM, чтобы я потом мог к ней легко обратиться? P.S. Вариант user.js мне не подходит - нужно иметь возожность вести лог, сразу писать прочитаные данные в файл\СУБД, так что желателен все же php и какая-нибудь библиотека к нему, которая поможет работать с объектной моделью документа. |
DOM FUnction из стандартных функций я бы вам советовал,и н е морочится с JS
http://j4p5.sourceforge.net/ |
начал читать за PHP DOM, интересная вещь, не знал, спасибо.
Если я правильно понял, мне можно сделать так - загрузить текст страницы через file_get_contents, пройтись по нему SimpleXML'ем, и преобразовать в DOM. А JS который на такой странице будет, он подтянется? Там просто динамические страницы, документ формируется на лету (к примеру пользователь нажал на кнопку - ему окошко и выскочило, до этого его не существовало). |
слушайте, а может есть у кого нибудь доведенный "до ума" движок Gecko или WebKit, работающие в консольном режиме? Чтоб я скормил ему ссылку, а он мне передал указатель на весь построенный DOM? Или такое сделать нереально? Времени просто не очень много, не охота лезть в дебри чужого кода
|
Цитата:
помимо SimpleXML есть еще и другие инструменты па парсингу HTML-а я бы рекомендовал именно DOM Function, которые соответсвуют спецификации DOM Цитата:
Никакого JS выполнятся не будет. для этого я вам дал вторую ссылку правда, подойдет ли вам это я не уверен. если не ошибаюсь это интепретатор JS написанный на PHP но не думаю, что он эмулирует все абсолютно полностью я бы на вашем месте и не стремился бы устроить работу JS-а на сервере. посмотрите, какую логику выполняет JS в клиенте. какие данные посылает, и какие принимает на основании этого составьте программу, которая бы сама загружала запросы, анализировала их результат с помошью DOM Function и переходила по новым запросам PS если же желания разбиратся на таком уровне в логике скрипта нету, то тогда только клиентскача сторона+ user.js с его помощью получаете что надо со страницы, и отправляете на сервер, где PHP уже сделает что надо |
да, пожалуй вы правы, и мимо user.js мне не пройти :)
Подскажите тогда такую вещь - слышал, что браузер блокирует отправку AJAX запросов на другой узел, если основная страница загружена не оттуда. Ну к примеру, программа, которую мне нужно расковырять работает на хосте 10.0.0.5, а я буду пытаться отправлять данные на 127.0.0.1. Мне этот фокус удастся? |
если вы конвертируете данные со своего проекта на другой свой, почему бы временн не разместить их на одном хосте?
можно, но с определенными ограничениями http://javascript.ru/ajax/cross-domain-scripting |
Большое спасибо за советы и линки. Сейчас буду использовать на практике )
|
Часовой пояс GMT +3, время: 11:50. |