PHP+webdriver+Chrome(seleniumなし)でスクレイピング業務日記JavaScriptがあるページをPHPでスクレイピング壁は乗り越えるもの以前、JavaScriptを使ったページの取得ができないため、PHPを使ったスクレイピングを諦めようかという記事を書きました。実際、自分では難しい、又は大げさな仕組みになり自宅サーバーでは負担が大きすぎると思っていました。url=”https://co2.ddns.net/work-blog/javascript_hazard_2018-01-29/”]VBAを使ったスクレイピングVBAを使えば、InternetExplorerのオブジェクトを使って、容易にスクレイピングができるのもわかっていました。特定の特許事務所のホームページをロボットで調べるとしても重すぎると感じました。Msxml2.XMLHTTP.3.0等と組み合わせてhybridとして使おうとも考えていました。WordPressのデータベースとも連携できるし、実現可能性は高い。実際に実装するには道のりが長すぎる。何より文字列操作を多用しようと思っていたので、VBAでは貧弱すぎるという課題がありました。PHPVBAにも壁を感じていたとき、ふと「PHPでブラウザ自動化」にたどり着きました。自分で言うのもなんですが往生際が悪い。するとこのページにはPHPからwebdriverで直接Chromeが動かせることが書いてありました。Serverが要らない。mariadbがすでに動いているのに余計なものまで動かしたくなかったのです。ポート4444というものを使うし。単独で動かせるなら便利。サンプルを見ながら実装してみました。困ったのは、ページの読み込み終了の見極めです。サンプルの多くが、ブラウザのタイトルが「検索」を含む文字になったらとか言うものでした。私がしたいことは特許事務所のホームページ巡りなので、特定の言葉がタイトルに現れることはありません。href=”></a>が探したくて、このスクレイピングを始めたので、JavaScript等の読み込みの終了条件は、リンクが表示されたら終わるというものにしました。PhantomJSそしてVBAに寄り道をしたもののPHP+webdriver+Chromeで以下の目標もなんとかできそうな気がしてきました。Chromeは、少しでも軽くすために画像を読み込まない設定にしておこうかと思います。url=”https://co2.ddns.net/work-blog/next_target_2018-01-25/”]まとめやりたいことリストに書いて、壁を感じていたのですが、日々何か探していると進歩があるようです。DIYでは時間が足りず、まだまだ時間はかかると思いますが、気長に見守ってやってください。コメントをキャンセルメールアドレスが公開されることはありません。.Translate。