[日誌] 続・次の目標(JavaScriptの壁)
JavaScript実行後のページ取得の難しさ
次の目標へのハードル
先日、次の目標と題して、特許事務所のホームページの更新状況を提示する情報取得を目標にかかげました。みなさんに発表するまでにphpQueryライブラリー、Goutteライブラリーを検証し、Goutteを使って、各事務所のホームページやそのリンク先のホームページの情報を取得できるところまで実現できていました。MySQL(mariadbですけど)のテーブルの設計までほぼ終了していました。
検証
しかし、実際に検証してみると、Goutteでは、JavaScriptによる実行後のページをどうしても取得できないことがわかりました。
PHP-PhantomJS
ネットで調べたところ、PhantomJSというヘッドレスブラウザー(画面を表示させないブラウザー)があることがわかった。そして、PHPからPhantomJSを動作させることはできたのだが、ホームページが自動に遷移するようなJavaScriptを実行させるまでには至りませんでした。
一難去ってまた一難。phpQueryからGoutte、GoutteからPHP-PhantomJS… ちょっとPHPでの自動実行を諦めようかと思い始めました。
まとめ
PHPを使ってJavaScriptが動いているホームページの取得は難しい。ExcelのVBA+objIEで活路を見出すしかないのかもしれません。ふぅ。