Когда вы используете file_gets_contents($website)
или cURL для загрузки веб-сайта, загружает ли он весь сайт? Меня больше всего интересует использование cURL .
Я использую его для загрузки веб-страницы, которая затем получает некоторое содержимое, такое как цена с использованием AJAX, и у него есть некоторые проблемы с получением цен.
Когда я использую file_get_contents, он загружается, как обычно, как и весь сайт в браузере, плюс материал, загруженный с помощью Ajax?
Нет. Использование file_get_contents()
возвращает только содержимое страницы, оно не будет выполнять какой-либо JavaScript на самой странице. Аналог этого поведения почти эквивалентен «View Page Source» в браузере.
Отрывок
$website = 'http://stackoverflow.com/'; file_gets_contents($website)
загружает результат HTTP-запроса, ничего больше . Таким образом, вызов загружает источник html-страницы, возвращенный URL-адресом http://stackoverflow.com/
.
В частности, file_gets_contents()
не загружает материал, на который ссылается страница, на которую ссылается http://stackoverflow.com/
.
Оценка кода JavaScript с помощью PHP
Если вы хотите оценить JavaScript внутри HTML-кода с помощью PHP-скрипта , вы, вероятно, захотите использовать движок JavaScript V8 , который необходимо скомпилировать в ваш PHP-двоичный файл:
Найдите пример использования JavaScript-движка V8 здесь .