私は毎朝cronを介して実行されるスパイダーを作成しようとしています。レンダリングされたDOM(javascriptの後)を取得するために、ヘッドレスブラウザーを組み込みたいと思いました。
私はCrowbar(ヘッドレスブラウザー)を使用してみましたが、cURLを介して1つ(そして1つだけ)のページを取得することに成功しました。ドキュメントは存在せず、最初のリクエストごとにハングします。
どうすればPHPを介してCrowbarのプロセスを強制終了できますか。本質的には、Crowbarのプロセスを自由に開始/停止できるようにするためです。それとも、これらのヘッドレスブラウザを常に実行したままにしておくのでしょうか。それはリソースの浪費のようです。
これは私が試したコードですが、プロセスを強制終了しても機能しません。
$toExecute = "\"" .ROOT . "/vendors/xulrunner/xulrunner.exe \" \"". ROOT . "/app/Vendor/crowbar/xulapp/application.ini \" 2>&1 &";
$handle = shell_exec($toExecute);
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, 'http://127.0.0.1:10000/?url=' . $url . '&delay=3000&view=as-is');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$html = curl_exec ($curl);
exec("kill -KILL ".$handle); //this does not work...
echo $html;
または、JavaScriptを使用してPHPをスクレイプするためのより良い方法はありますか?聞きたいです...