использовать PhantomJS с PHP?

Я пытаюсь разнообразные методы PHP, чтобы «получить» веб-сайт & сохранить вывод HTML в файл на моем сервере. Однако URL, который я пробую, содержит javascript.

HTML-код, который я вижу в выходных данных моего php-скрипта, пропускает некоторый контент (созданный с помощью Javascript по указанному URL-адресу)

Я нашел что-то под названием PhantomJS, которое, по-видимому, анализирует URL-адреса с «обработанным» Javascript.

Примеры, которые я нашел, неполны & показывать только 1 часть кода за раз, без каких-либо полных / полезных рабочих скриптов.

Некоторые вопросы

1) — я думаю, что могу сделать эту часть, еще не проверенную.

Я могу использовать команды EXEC или SYSTEM для активации PhantomJS через мой PHP-скрипт.

Я не проверял, но я думаю, что знаю, как отправить 2 переменные в PhantomJS

http://phantomjs.org/quick-start.html

Угадай:

address = system.args[1];
value = system.args[2];

phantomjs loadpeed.js http://www.google.com 56

(56 — это вторая переменная) Я думаю, что могу передать несколько переменных в PhantomJS. ??

2) Я не могу / пока не нашел ответы на эти вопросы. может кто-нибудь помочь.

а) Можно ли сохранить результат HTML сайта в указанном мной файле (одна из переменных, которые я передаю скрипту).

или же

б) передать код HTMl обратно в скрипт PHP & сохранить его в массив / переменную.

Есть ли хорошие примеры — Небольшие, но РАБОЧИЕ сценарии использования фантомного JS из сценария PHP?

2

Решение

Если я правильно понял проблемы, с которыми вы столкнулись, я бы порекомендовал вам сделать следующее:

Вот пример, который вы можете использовать:

<?php
// An example of using php-webdriver.

require_once('lib/__init__.php');

// launching with GhostDriver

// remote host
//$host='http://162.243.175.134:8080';

//host launched on local machine
$host='http://127.0.0.1:8080';$desired_capabilities =  DesiredCapabilities::phantomjs();
$driver = RemoteWebDriver::create($this->host,$desired_capabilities,5000);
$driver->get('http://www.google.com');

// this way you're able to get page source
echo $driver->getPageSource();?>

фактический результат $driver->getPageSource(); функция:
http://gyazo.com/4a5c4c1c378d7dc9714ddcc9e37b0174

Как только вы получите источник страницы в переменную, вы сможете сохранить его в файл (на своем сервере) или выполнить другие действия с ним.

Я согласен с @Artjom B., что отправка и получение данных в / из phantomJs с помощью php описано довольно хорошо.

Надеюсь, мои идеи помогут вам.

С уважением.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]