スクレイピングとは違い、あるURLにアクセスしてそのサイト画面をキャプチャしてくれるプログラムがあります。
キャプチャは法律的に厳しいものではないのでWeb上で行える範囲は広いと思います。
※しかし、海賊版サイトでのダウンロード(スクショも含む)は違法とされているので慎重に行ってください。
テスト媒体として以下のURLからキャプチャ画像を取得します。
- https://pgming-ctrl.com
- https://pgming-ctrl.com/pgming-life
- https://pgming-ctrl.com/test.html
これも簡単にできるものなので、早速やってみましょう。
プロジェクト
新規でプロジェクトを作成します。
まず何処でもいいので「AccessCapture」フォルダを新規作成してください。
その後に、VSCodeを立ち上げてフォルダを開きます。
下の画像の左上の「ファイル(F)」から「フォルダーを開く…」をクリックして先ほど作成したフォルダ「AccessCapture」を選んでください。
以下の画像で「ACCESSCAPTURE」というフォルダを今開いていることが確認できると思います。
フォルダを反映出来たら次はワークスペースファイルを作成します。
以下の画像の「ファイル(F)」から「名前を付けてワークスペースを保存…」をクリックします。
名前は「access_capture_workspace.code-workspace」にでもして下さい。
これで準備は完了です!
ソースコード
以下のように追加してください。
名前は「AccessCapture.py」です。
以下がソースです。
.pyのダウンロードはセキュリティ的にアウトなのでコピーでお願いします。
また、「selenium」は標準ライブラリに存在していませんので、pipでインストールする必要があります。
コマンドプロンプトで以下のコマンドを打ってインストールしてください。
pip install selenium
ソース内ではWebブラウザを操作することができるライブラリ「selenium」を使ってURLにアクセスしてキャプチャ画像を取得しています。
ヘッドレスモードはブラウザを立ち上げなくても、Webドライバーだけで処理を行えています。
ページ全体を取得するためには、スクロールしてページの上部から下部までを予めセットすることにより取得できています。
また、実行する前に以下のダウンロードが必要です。
ダウンロード
デバッグ実行の前に、「Chrome」とその「Webドライバー」をダウンロードしなければなりません。
以下からダウンロードしてください。
Google Chrome(https://www.google.com/chrome/)
Chrome Driver(https://sites.google.com/a/chromium.org/chromedriver/downloads)
→リニューアルしたようです。(https://sites.google.com/chromium.org/driver/)
Chromeの場合は、URLからそのまま落としてきて指示に従ってもらえれば簡単にインストールできます。
「Chrome Driver」の場合は、URLにアクセスして以下の画面になっていると思うので、
ご自身のChromeのバージョンにあったものを「Current Releases」からダウンロードしてください。
Chromeバージョンの確認方法は、まず、
以下の画像のような右上の設定マークをクリックして「ヘルプ」>「Google Chrome について」をクリックしてください。
すると、以下のようにバージョンが確認できると思います。
筆者の場合は、バージョンが「90.0.4430.93」でしたので、
「Chrome Driver」も同じバージョンのものをダウンロードします。
3つ上の画像で「ChromeDriver 90.0.4430.24」をクリックして画面遷移します。
すると、以下の画面になるので「chromedriver_win32.zip」をクリックして落としてください。
「chromedriver_win32.zip」を解凍してその中に「chromedriver.exe」の実行ファイルがあることを確認します。
その後、そのフォルダごと「AccessCapture」フォルダ内に移動させてください。
以下のようになっていると思います。
構成ファイル
構成ファイルを作成して「F5」キーですぐ実行という形にしてみましょう。
そのために、「launch.json」というファイルを作成することになります。
これは以下の手順で自動で作成できます。
1.上のメニューバーにある「実行(R)」から「構成の追加…」をクリック
2.「Python File」をクリック
3.以下の画像のように「.vscode」フォルダ内に「launch.json」が作成されます
デバッグ実行
では、実行してみましょう!
AccessCapture.pyが画面上に出ていることを確認して、「F5」キーを押します。
キャプチャ画像が以下のように出力されていたらOKです!
カレントディレクトリ内に「images」フォルダが作成され、
その中にURL名のキャプチャ画像が保存されていることが確認できると思います。
以下のように「pgming-ctrl.com.png」を拡大してみると、そこそこ画質は良いみたいです。
どれだけ長いページでも拡大したらなんとか認識はできると思います。