仕事
WEB制作を効率化する (1) – 大量のスクリーンショット 第1回
2017年12月12日 よっしー
WEBサイトのスクリーンショットが大量に必要になるときないですか?
最近は、ブラウザの拡張ツールも充実していて、1 ページつづなら簡単に取れますね。
しかし、500ページ、1,000ページとかになると、ちょっと心が折れそうです。
今回は、この手順を自動化してみたいと思います。
この記事の内容を実行するのに必要な要件
Windows 10 pro 64bit
chrome 63
Excel 2016
※今回はこの環境ですが、他の環境でも、カスタマイズすれば動くと思います。
やってみよう
色々検索してみると、いろんな手法でチャレンジしている人がいたのですが、google chrome をコマンドプロンプトから利用するのが簡単そうです。
とりあえず、キャプチャしてみます。
たとえば、弊社のホームページのキャプチャを C:\01\top.png に保存するには、コマンドラインから以下のように実行します。
"c:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --headless --disable-gpu --hide-scrollbars --screenshot=c:\01\top.png --window-size=1024,2048 http://www.f-hit.com"
できた、素晴らしく簡単です。
こちらのコマンドについては、詳しくはこちらの記事を参考にしてください。
外部リンク / ヘッドレス Chrome ことはじめ
自動化する
自動化する、つまり、連続してキャプチャするには、URL と ファイル名の部分を変更しながら、google chrome を繰り返し実行できればいいわけですね。
今回は、EXCEL でやってみたいと思います。
A列に「ファイル名」を、B列に「URL」したシートを作成して、そのシートに、以下の VBA コードを書きます。
ソースコード
Function capture()
Dim cmd As String
For i = 1 To 4
cmd = ""
cmd = cmd & "c:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
cmd = cmd & " --headless"
cmd = cmd & " --disable-gpu"
cmd = cmd & " --hide-scrollbars"
cmd = cmd & " --screenshot=c:\01\" & Cells(i, 1) & ".png"
cmd = cmd & " --window-size=1024,2048"
cmd = cmd & " " & Cells(i, 2)
rc = Shell(cmd, vbHide)
Debug.Print i & "-" & Now
Application.Wait Now + TimeValue("0:00:05")
DoEvents
Next
End Function
これを、実行すると、C:\01 フォルダに 4ページ分のキャプチャができています。
途中、Application.Wait Now + TimeValue("0:00:05")
を指定しますが、これで 5 秒間隔の実行になります。
キャプチャの都度サーバーにアクセスすることになるので、キャプチャ取得対象のサーバーに負荷かけないように、5秒間隔で実行するようにします。
今回の記事では、キャプチャサイズが 1024×2048 で固定されてしまうので、ページによってサイズを可変にできるように、今後、改善してみたいと思います。
この記事を書いた人
-
よっしー
ディレクター (東京支社)
ディレクター
(東京支社)
田畑では愛車トラクターを乗りこなし、米も作る農家が本業というIT系ファーマー、いや、ファーマー系エンジニア? こだわりのあるモノ作りが得意。野菜とWEBの旬な情報はお任せ! 新しい技術やサービスは、まず自ら使ってみる事をモットーにしているプロジェクトマネージャー。WEB制作だけではなく、ネットワーク/サーバー、システム開発まで幅広く網羅。
田畑では愛車トラクターを乗りこなし、米も作る農家が本業というIT系ファーマー、いや、ファーマー系エンジニア? こだわりのあるモノ作りが得意。野菜とWEBの旬な情報はお任せ! 新しい技術やサービスは、まず自ら使ってみる事をモットーにしているプロジェクトマネージャー。WEB制作だけではなく、ネットワーク/サーバー、システム開発まで幅広く網羅。
この人が最近書いたものを見る
これを読んだ人にオススメ
最新の3件
タグ一覧
WEB制作・プロデュース会社『フューチャーヒット』の人々が趣味などをゆるく紹介するサイトです。
フューチャーヒットの「人々」が自由に、でも真剣に取り組んでいく様子をこの「ひっとびと」を通してお届けしていければと思います。