我正在尝试使用不同的PHP方法来“获取”一个网站&将HTML输出保存到我的服务器上的文件中。但是,我尝试的URL包含javascript。
我在php脚本输出中看到的HTML是一些内容(通过我指定的URL上的Javascript创建)。
我找到了一个名为PhantomJS的东西,它显然用“处理过的”Javascript解析了URL。
我发现的例子不完整&只显示一部分代码,没有任何完整/有用的工作脚本。
一些问题
1) - 我想我可以做这个部分,还没有测试过。
我可以使用EXEC或SYSTEM命令通过我的PHP脚本激活PhantomJS。
我没有测试过,但我想我知道如何将2个变量发送到PhantomJS
http://phantomjs.org/quick-start.html
猜猜:address = system.args[1];
value = system.args[2];
phantomjs loadspeed.js http://www.google.com 56
(56是第二个变量)我想我可以将几个变量传递给PhantomJS。??
2)我无法/尚未找到这些答案。任何人都可以帮忙。
a)是否可以将网站的HTML结果保存到我指定的文件中(我传递给脚本的变量之一)。
或
b)将HTMl代码传递回PHP脚本&将其保存到数组/变量中。
是否有任何好的示例 - 使用PHP脚本中的幻像JS的小型但工作脚本?
答案 0 :(得分:0)
如果我正确地解决了您所面临的问题,我建议您执行以下操作:
您可以使用的一个示例:
<?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. sending and receiving data to/from phantomJs with php的描述相当不错。
希望我的想法能帮到你。
问候。