2013-06-11 2 views
1

Я пытаюсь написать программу на PHP, которая будет загружать и анализировать источник html. Проблема в том, что когда я пытаюсь загрузить html, который генерируется js.
Есть ли возможность загрузить файл после завершения функции onload()?Загрузить исходный HTML-код, созданный javascript

Благодаря

+0

поделиться своим кодом с тем, что вы пытаетесь сделать – karthikr

+0

Вы пытаетесь сделать это самостоятельно, чтобы получить тестовые примеры или код? – BlargleMonster

+1

Итак, вы пытаетесь создать скребок с PHP-клиентом и надеетесь, что PHP может каким-то образом запустить javascript? –

ответ

4

Не простая задача, как Javascript актуален активный код, который должен интерпретироваться браузером. То, что вы получаете с сервера, - это фактический HTML, и все, что делает javascript, находится на стороне клиента и полностью выходит за рамки сервера, который предоставляет вам веб-страницу. Вы не можете решить это в целом со статическим анализом (т. Е. Угадать, что произойдет, если посмотреть на код, не выполнив его вообще). Единственный способ надежно сделать это - фактически выполнить javascript.

Это, как говорится, вы, вероятно, не хотите писать свой собственный интерпретатор javascript с нуля. Существуют «безголовые» реализации, в которых есть интерпретатор javascript, как браузер, но не отображает его на экране - он выполняет все операции с виртуальным DOM. Попробуйте посмотреть на PhantomJS.

EDIT См. this question, где кто-то в основном делает то, о чем вы просите. Я думаю, что он должен работать как есть для вашего дела.

Я не знаю никаких «чистых» php-решений, но вы можете легко автоматизировать запуск скрипта с помощью php. Если вам нужно оставаться PHP по какой-либо причине, то «безголовый рендеринг DOM» - это то, что я бы искал.

Смежные вопросы