MENUCLOSE
twitter ツイッターfeedlyRSS

オンスタでは、オンラインで学習するために役立つコンテンツを掲載しています。そのほか、UdemyをはじめとしたEラーニングサービスの紹介も行っています。

オンスタ | オンラインで学習するための近道になるサイト
夏だしオバケ怖いってことでPhantomJSを使ってスクレイピング試してみた

夏だしオバケ怖いってことでPhantomJSを使ってスクレイピング試してみた

公開日:2017年08月04日
最終更新日:2017年08月04日
オンスタ運営
プログラミング
ホーム > 全記事一覧 > 制作 > エンジニア > マークアップ > 夏だしオバケ怖いってことでPhantomJSを使ってスクレイピング試してみた

Warning: Undefined variable $_cat_enginieer_flag in /home/growgroup/online-study.jp/public_html/wp-content/themes/online-study-wp/views/object/components/related-posts-inline.php on line 37
このエントリーをはてなブックマークに追加
夏だしオバケ怖いってことでPhantomJSを使ってスクレイピング試してみた
【PR】Udemyならスマホでもタブレットでも、いつでも気軽に学べます。

こんにちは!最近めっきりカップラーメンを食べることがなくなり(めっちゃしょっぱく感じる)、
「歳食ったなぁ」としみじみ思う僕ですが、まだまだ若い人たちには負けないつもりで頑張っていこうと思います!
今回はPhantomJSを使って、ホームページをスクレイピング(キャプチャーを取る)するということを試したので、それを記事にしてみました!

ご興味あれば是非!では行ってみよ〜

PhantomJSって?

http://phantomjs.org/

通常webページを閲覧するためにはGoogle ChromeやFirefox、Safariといったブラウザが必要ですが、
PhantomJSにはwebkit(レンダリングエンジン)が組み込まれており、通常のブラウザを使わなくても、ヘッドレスブラウザを作成して、
webページを表示したり、JavaScirptで操作したりといったことができます。
実際の操作はターミナルなどCUIで行います。僕の環境がMacですので、ここではターミナル操作でお話していきます。

※補足
操作するための画面(GUI)・インターフェイスが無いブラウザをヘッドレスブラウザと呼びますが、ヘッドレスブラウザにはたくさんの種類があります。
以下に明るいので、ご興味あれば覗いてみてください。
https://github.com/dhamaniasad/HeadlessBrowsers
また、Google Chromeもヘッドレスモードが実装されたみたいですが、まだ試せていません( ; ;)

PhantomJSで何ができるの?

ヘッドレスブラウザを立ち上げて、webページを操作できるということで、
テストの自動化やスクレイピングなどによく使われるそうです。

下準備

物は試しです。PhantomJSを動かすための準備をしましょう!

PhantomJSのインストール

直接以下からダウンロードしてということも可能ですが、
http://phantomjs.org/download.html
パスを通すといった設定が必要ですので、今回はnpmを使ってインストールして使おうと思います。

 

インストールされたか確認

バージョンが表示されればOKです

記述方法と実行の基本

→ jsファイルを作成して、そこに記述
→ 記述後はターミナルからコマンドを打って実行
って流れです。

動かしてみる

それではここから実際に動かしてみましょう!

メッセージを表示してみます。

適当にディレクトリとjsファイルを用意します。
phantom-test
┗ sample.js

作成したsample.jsに以下を記述します。

記述を書いたら実行してみましょう。
実行はターミナルから行います。

ターミナル上に「これはこれはテストです。」とメッセージが表示されればOK!

 

ヘッドレスブラウザを立ち上げてキャプチャを撮る

では実際にキャプチャを撮ってみましょう!

GrowGroupのキャプチャが撮れました!
デフォルトではカレントディレクトリに保存されます。

 

キャプチャのサイズを変更してみる

撮ってみるとわかるのですが、キャプチャが小さいですね
弊社のWEBサイトはレスポンシブデザインでスマートフォンと切り替わるようになっているので、
スマートフォン版がキャプチャーされます。
PC版でキャプチャが欲しいのでのサイズを変更してみましょう!
せっかくなのでファイル名も変更します!

PC版、スマホ版のキャプチャが撮れました〜( ^ ^ )

 

ページ内の情報を取得してみる

ここで今日の記事は終了(早い)ですが、せっかくですので他の操作もしてみましょう。
全然実感がわかないですが、PhantomJSでpage.openでページにアクセスしている状態になっているので、JavaScriptを使ってブラウザを操作できる状態にあります。
今回はディスクリプションを取得して表示してみましょう!

ターミナルにディスクリプションが表示されればOKです!

むすびに

いかがでしたか?PhantomJSのAPIを調べてごにょごにょするより、
CasperJSを使った方がスクレイピングは早いなんてご意見もチラホラ散見しますが、
機会があればCaspterJSも触ってみようと思います!

あと最後になりましたが
このたびワタクシ、人間に転職いたしました。
今後はペンネーム「ケイジャニストやまだ」として執筆していきます!

さらばゴリラとしての日々、
こんにちは人間ライフ!

何かいいネタあったら教えてください!
以上、ゴリラこと、ケイジャニストでした〜♪

 

 

 

 


【PR】Udemyならスマホでもタブレットでも、いつでも気軽に学べます。

Udemyを実際に体験した方の感想記事もぜひご覧ください♪

関連コンテンツ


Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
【Vue.js】初心者のワタシがつまづいた。Sassの共通変数をグローバルに読み込む方法
プログラミング
マークアップ
公開日: 2020年01月16日
最終更新日: 2022年01月17日
【Vue.js】初心者のワタシがつまづいた。Sassの共通変数をグローバルに読み込む方法
  • # Sass
  • # vue-cli
  • # Vue.js
  • # vuejs
オンスタ運営

Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
Scratchなら遊び感覚で学べる!サービスの特徴やメリットをピックアップ
プログラミング
公開日: 2019年08月04日
最終更新日: 2022年01月17日
Scratchなら遊び感覚で学べる!サービスの特徴やメリットをピックアップ
  • # Scratch
オンスタ運営

Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
JSのWeb API(getBoundingClientRect)の活用例を紹介
プログラミング
公開日: 2021年10月15日
最終更新日: 2021年10月15日
JSのWeb API(getBoundingClientRect)の活用例を紹介
m.watanabe

Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
【PHP】PHPでライブラリ管理!「Composer」を使ってみよう
エンジニア
プログラミング
公開日: 2018年12月06日
最終更新日: 2022年01月17日
【PHP】PHPでライブラリ管理!「Composer」を使ってみよう
オンスタ運営

Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
JS初心者必見!JavaScriptの勉強ができるWEBサービス紹介【タイプ別】
プログラミング
マークアップ
公開日: 2018年12月28日
最終更新日: 2022年01月17日
JS初心者必見!JavaScriptの勉強ができるWEBサービス紹介【タイプ別】
オンスタ運営

Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
【Code.org】4歳から18歳まで!ビジュアルプログラミング言語でプログラミングが学べる『Code.org』について調べてみた
エンジニア
オンライン学習
プログラミング
制作
公開日: 2020年07月21日
最終更新日: 2022年01月17日
【Code.org】4歳から18歳まで!ビジュアルプログラミング言語でプログラミングが学べる『Code.org』について調べてみた
  • # Code.org
オンスタ運営

Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
JAMstackってなに?もやもやするのでJAMstackについて調べてみた。
テクノロジー
プログラミング
公開日: 2021年03月08日
最終更新日: 2021年03月08日
JAMstackってなに?もやもやするのでJAMstackについて調べてみた。
  • # GatsbyJS
  • # JAMStack
  • # JavaScript
  • # Netlify
オンスタ運営

Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
[JavaScript_中級者への道] プロトタイプについて – [3] 身近な機能を実装してみる
プログラミング
公開日: 2020年02月19日
最終更新日: 2022年01月17日
[JavaScript_中級者への道] プロトタイプについて – [3] 身近な機能を実装してみる
  • # ES6
  • # JavaScript
  • # プロトタイプ
オンスタ運営

Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
【最新】Pythonの学習におすすめの本全部で14選
プログラミング
制作
電子書籍
公開日: 2019年06月25日
最終更新日: 2022年01月17日
【最新】Pythonの学習におすすめの本全部で14選
  • # Python
  • # おすすめ
  • # 本
オンスタ運営

Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
【第1回】ノンプログラマー/プログラム初心者も楽しめる!ゴリラにも伝わるprocessing入門
テクノロジー
プログラミング
公開日: 2016年12月06日
最終更新日: 2019年05月28日
【第1回】ノンプログラマー/プログラム初心者も楽しめる!ゴリラにも伝わるprocessing入門
オンスタ運営
全記事一覧

web制作者にオススメのオンライン学習サイト「Udemy」

世界最大級のコースがラインナップ!電子書籍サイト「Udemy」

世界最大級のコースがラインナップ!オンライン学習サイト「Udemy」

「Udemy」ではいつでもどんなトピックでも、専門家が教える何千ものコースを用意されており、無料で学べるコースも多数あります。もうちょっと勉強したいな。スキルアップしたいな。と思ったら是非チェックしてみてください。