こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

締切り済みの質問

Cakephp2.0で、PhantomJs

Cakephp 2.0のConsole/Commandで、スクレイピングを行う処理を実装しようとしています。
PhantomJsを使おうとしていますがどうもうまくいきません。


composerを利用してPhantomJsを、
/XAMPP/xamppfiles/htdocs/cakephp/app/Vendor
にインストールしました。

”/XAMPP/xamppfiles/htdocs/cakephp/app/”

test.phpとして、
<?PHP
require_once('vendor/autoload.php' );

use JonnyW\PhantomJs\Client;

$client = Client::getInstance();
$client->getEngine()->setPath('vendor/bin/phantomjs');

$request = $client->getMessageFactory()->createRequest();
$response = $client->getMessageFactory()->createResponse();

$request->setMethod('GET');
$request->setUrl('https://pg.kdtk.net/sample/phamtomjs_test.html');

$client->send($request, $response);

echo "request url: " . $request->getUrl() . "\n";
echo "response: " . $response->getStatus() . "\n";
if($response->getStatus() === 200) {
echo "content: \n";
echo $response->getContent();
}
?>
というサンプルプログラムを実行するとうまくいきました。
これを、Console/Commandで実装したいのですが、どのように実装したら良いかわかりません。


例えば
/XAMPP/xamppfiles/htdocs/cakephp/app/Console/Command
に、
SampleShell.php
として保存し、
<?php
class SampleShell extends AppShell {
public function startup()
{
parent::startup();
App::import('Vendor', 'Client', array('file' => 'JonnyW/PhantomJs/Client.php'));
}

// メイン実行関数
public function main() {
$client = Client::getInstance();
}
}
?>


php cake.php Sample
を実装すると、
PHP Fatal error: Class 'Client' not found ・・・

とエラーとなります。

インスタンスを生成できるようにするにはどのようにすれば良いのでしょうか?
ご教示いただきますよう、何卒宜しくお願い申し上げます。

投稿日時 - 2017-10-03 00:09:07

QNo.9381506

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

ANo.1

#回答ではありません

(see.)
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12180265712

投稿日時 - 2017-10-03 13:01:51

補足

こちらの質問は、ご指摘いただきましたURL、知恵袋で解決しました。
お騒がせし、申し訳ございませんでした。

投稿日時 - 2017-10-03 21:37:08

-広告-
-広告-

あなたにオススメの質問

オススメのQ&Aはありません。
-広告-
-広告-