Как смоделировать, что JavaScript включен с PHP Curl? - PullRequest
2 голосов
/ 23 ноября 2010

Я хочу проанализировать HTML-код с веб-страницы с помощью PHP Curl, но есть сообщение об ошибке, что я не могу получить доступ к сайту без JavaScript.

Можно ли включить JavaScript с помощью PHP Curl?

Ответы [ 3 ]

3 голосов
/ 23 ноября 2010

JavaScript выполняется браузером;У cURL нет синтаксического анализатора JavaScript, поэтому он не может его выполнить.

Поскольку веб-сайт ожидает, что что-то сообщит ему о включенном javascript, вам необходимо использовать инструмент, который может выполнять веб-страницу через фактическийбраузер, чтобы дать вам HTML.

2 голосов
/ 23 ноября 2010

Хотя УЖАСНАЯ идея: http://timwhitlock.info/blog/2008/05/09/full-javascript-parser-for-php/

Вы можете проанализировать возвращенную строку как Javascript.Однако вы столкнетесь с проблемами, если будете использовать AJAX.

Read: Parse! = Run.

1 голос
/ 23 ноября 2010

Нет.

Это очень просто - страница тестирует, если у вас включен JavaScript, с помощью , используя JavaScript для выполнения команды, которая удалит такие вещи, как «у вас нетJavaScript включен ".

Поэтому, если у вас НЕ включен JS, ошибка не исчезнет.

Необязательно (и даже более вероятно) JavaScript перенаправит ваш браузерна фактическую страницу, если JS не включен - снова вы останетесь на первой странице, которая говорит, что у вас не включен JS ...

PHP curl НЕ являетсяполный браузер.Это просто библиотека, которая используется для связи с серверами, используя HTTP, FTP и так далее.Он не выполняет ни рендеринга, ни синтаксического анализа.

Для этой функции вам потребуется механизм JavaScript ... насколько мне известно, в PHP нет ни одного полностью функционального.

...