【前編】Javascriptの動的サイトはどうやってスクレイピングするの?

 


 

前回に引き続き、スクレピングについて紹介していこうと思います。
「もうスクレイピングなら余裕だぜ」と思われる方がいるかもしれませんが、実は前回までの内容のみだと大きな落とし穴があるのです。

落とし穴とは!?

それは、、、JavaScript適用後のHTMLに対して一切スクレイピングできない事です!
対してJavaScriptで動的に値を取得しているサイトが結構な数存在しているのです。
phpQueryによるスクレイピングではJavaScript適用前のHTMLを取得しているため、JavaScriptで要素を追加したり、値を取得している部分は取得できないです。

Chromeによる確認

例えばchromeのデベロッパーツールを使用すればそのことが確認できます。
Chromeを開いた状態で
MacならCommand + option + U
WindowsならCtrl + U
これで表示されるものがphpQueryで取得できるものです。
MacならCommand + option + I
WindowsならCtrl + I
こちらで表示されるものは基本的にはJavaScript実行後(時間により変化する)のHTMLです。
よく比べてみるとサイトによって違いが生じているはずです。
他のブラウザでも同様に確かめられます。

じゃあどうすればいいの??

前置きが長くなってしまいましたが、JavaScript実行後のHTMLを取得してスクレイピングできる方法があるのです。
そのためにはPHP Phantomjsを使います。
PHP PhantomjsはPhantomjsヘッドレスブラウザというものでHTMLを読み込んでJavaScript実行後のHTMLを返してくれます。

まずは準備してみましょう!

PHP Phantomjsを使用するための準備をしましょう。
まずはComposerをインストールしましょう。
以下ではCentOS7環境を前提とします。
Composerのダウンロードとパスの通っているところへ移動

これでComposerのバージョンが表示されたならオッケーです。

ちょっと長くなってしまったので今回はこの辺りにしておきましょう。
次回で実際にPHP Phantomjsを用いてスクレイピングしてみましょう。

リアルタイムチャート(5分間隔)

ウォレット・取引所

今おススメ、有名なウォレット・取引所のリンクを張ります。各々の取引所では長所・短所(取扱通貨が異なる)があるため、全て作成しておいても損はないと思います(^。^)いつか利用するときが来るかもしれません。

KuCoinは現在人気がうなぎのぼりです。登録は無料なので、登録中止になる前に開設だけする事をおススメします。

bitFlyer ビットコインを始めるなら安心・安全な取引所で
ビットコイン取引高日本一の仮想通貨取引所 coincheck bitcoin



関連記事

おすすめ記事

  1. 今回はGoogle Compute Engineを使って仮想通貨のマイニングをします。 GCE…
  2. みなさまこんばんわ。 マイナーの皆さんも、そうでない皆さんも調子はいかがでしょうか。最近、僕の…
  3. 今までAWSやGCEを利用したクラウドサービスでのubuntuインストール、マイニング等をご紹介して…
  4. Invalid argument supplied for foreach() のエラー PHPで…
  5. 皆さんはWebサイトからある特定の情報を取ってきたいと思ったことはありませんか? 毎回サイトに飛ん…
  6. 今回はAzureでのマイニングです。利用するOSはubuntuなので、根本的な部分は今までのAWSや…
  7. 速報をお届けします。 ネットで近々Binanceが上陸する日が近い等と、色々言われていましたが…
  8. Pythonでグラフの表示はどうすればいいんだろう? 困ったらライブラリですよね。 ありました、…
  9. 本日はBitzeny、モナコイン、草コインを一つで対応できるマイニングプールについてご紹介します。 …
  10. Google Vision APIの解説です。僕はPHPで作成しているので、そちらのコードをサンプル…

アーカイブ

ページ上部へ戻る