素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

投稿日: 2019年10月4日
最終更新日:

【サイトキャプチャ自動化】NightmareJSを使って大量の画面のキャプチャを自動で保存しよう【PhantomJS】

YouTubeも見てね♪

ねこじゃすり

created by Rinker
PEPPY(ペピイ)
¥3,850 (2024/03/15 19:03:46時点 Amazon調べ-詳細)

猫を魅了する魔法の装備品!

Anker PowerCor

created by Rinker
Anker
¥4,990 (2024/03/15 15:06:44時点 Amazon調べ-詳細)

旅行には必須の大容量モバイルバッテリー!

[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット

created by Rinker
THE NORTH FACE(ザノースフェイス)
¥29,280 (2024/03/15 19:06:01時点 Amazon調べ-詳細)

防水暴風で耐久性抜群なので旅行で大活躍です!

ペヤング ソースやきそば 120g×18個

created by Rinker
ペヤング
¥2,600 (2024/03/15 19:03:46時点 Amazon調べ-詳細)

とりあえず保存食として買っておけば間違いなし!

レッドブル エナジードリンク 250ml×24本

created by Rinker
Red Bull(レッドブル)
¥4,080 (2024/03/15 19:03:47時点 Amazon調べ-詳細)

翼を授けよう!

ドラゴンクエスト メタリックモンスターズギャラリー メタルキング

created by Rinker
スクウェア・エニックス(SQUARE ENIX)
¥3,250 (2024/03/15 19:03:48時点 Amazon調べ-詳細)

みんな大好き経験値の塊をデスクに常備しておこう!

Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK

created by Rinker
Bauhutte(バウヒュッテ)
¥13,861 (2024/03/15 15:06:46時点 Amazon調べ-詳細)

メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!

大量のURLの画面キャプチャを自動化したい

もはやキャプチャ保存は人間のやる作業ではない

サイト開発等をしている場合、開発中の各画面のキャプチャを保存したいというケースがありますよね。

しかし、人力でブラウザで全てのページを開いてキャプチャツールを使って保存、、、なんて作業をするのはとても骨が折れます

そんな時は、NightmareJSを使って自動化しちゃいましょう!

nightmareとは?

NightmareJSとは、スクレイピングなどを行う際に多く利用されるPhantomJSという有名なヘッドレスブラウザをさらに扱いやすくしたラッパーツールです。


A high-level browser automation library.
Nightmare

PhantomJSを使うとこう書いていた部分が、

こうなる。

神かよ!!!

って事で早速使ってみました。

手順

phantomjsのインストール

nightmarejsはPhantomejsに依存しているのでまずはそちらをインストールします。

NightmareJSのインストール

次にNightmareJSをインストールします。

スクリーンショットを保存

まずは試しに、Googleで検索した結果をキャプチャ保存するスクリプトを書いてみます。

また、yarnで簡単に起動するためにpackage.jsonscriptsに以下の起動スクリプトを追記しておきます。

確認

では、実際にyarn captureで起動してみましょう。

正しく検索操作とキャプチャ保存も出来ていますね♪

複数画面を自動キャプチャ保存

では、応用として複数画面のキャプチャを自動で保存してみましょう。

今回は、config.jsonというファイルにキャプチャしたいページを管理し、ループ処理で自動保存する形式にしようと思います。

レスポンシブも対応

さらに以下のようにデバイス情報を追記し、

ネストループする事で一気に2端末分のレスポンシブデザインの確認をするためのキャプチャも取れてしまいます・・・!

かなり便利です!!!

スクロール領域のキャプチャ

次は縦スクロールが発生する画面のキャプチャを撮ってみましょう。

確認

正常にスクロールが発生する画面でも全体のキャプチャが取れました。

終わりに

以上のように、簡単に画面キャプチャを撮る事が出来ました。

たくさんの画面キャプチャを取らないといけない場合は、あらかじめ導入しておくととても便利ですので是非試して見てください♪

CATEGORIES & TAGS

IT