PHPでpuppeteerを動かせるPuPHPeteerのよくある記述方法一覧

(最終更新 2019年6月13日) システム

PHPでpuppeteerを動かせるPuPHPeteer

https://github.com/nesk/puphpeteer

プログラムに関してはこちら、詳細に関しては説明しているサイトがたくさんあるので割愛

以下のようなエラーになる

Fatal error: Uncaught NeskRialtoExceptionsNodeFatalException: Failed to launch chrome! 
[FATAL:zygote_host_impl_linux.cc(116)] No usable sandbox! Update your kernel or see 

https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md

for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox. 

サンドボックスを切ればエラーは解消されます

$browser = $puppeteer->launch();

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

$browser = $puppeteer->launch([ 'args' => ['--no-sandbox', '--disable-setuid-sandbox']]);

ベーシック認証をパスしたい

$user = '[ベーシック認証のユーザー]';
$pass = '[ベーシック認証のパスワード]';
$page = $browser->newPage();
$page->setExtraHTTPHeaders(array(
	'Authorization' => 'Basic '.base64_encode($user.':'.$pass),
));
$page->goto('[ベーシック認証のページ]');

ページのbodyを取得したい

$pagebody = $page->evaluate(JsFunction::createWithBody("return document.body.innerHTML;"));

関連する記事

システム

WSLでTensorFlow with Keras をインストール

WSLにTensorFlowをインストール まずは必要なソフトウェアをインストールしていきます pyenv pyenvはpythonのバージョンを管理してくれたりするツールです、2系とか3系とかも簡単に切り替えられたりします。 以下のコマン…

システム

MYSQLのインデックスとレコード数と挿入速度の関係

インデックスとレコード数と挿入速度の関係 インデックスとインサートの速度の関係 MYSQLの検索が遅い場合はインデックスを張ることで速くなります しかし、教科書にはやたらとインデックスを張るなと出てきます 理由としては (1)インサートが遅…