Python-web-scraping-processing-images-and-videos
画像とビデオの処理
Webスクレイピングには、通常、Webメディアコンテンツのダウンロード、保存、処理が含まれます。 この章では、Webからダウンロードしたコンテンツを処理する方法を理解しましょう。
前書き
スクレイピング中に取得するWebメディアコンテンツは、データファイルだけでなく、非Webページの形式の画像、音声、ビデオファイルでもかまいません。 しかし、ダウンロードしたデータを信頼して、特にコンピューターのメモリにダウンロードして保存するデータの拡張子を信頼できますか? これにより、ローカルに保存するデータの種類を知ることが不可欠になります。
Webページからメディアコンテンツを取得する
このセクションでは、Webサーバーからの情報に基づいてメディアタイプを正しく表すメディアコンテンツをダウンロードする方法を学習します。 前の章で行ったように、Python requests モジュールの助けを借りてそれを行うことができます。
まず、次のように必要なPythonモジュールをインポートする必要があります-
次に、ダウンロードしてローカルに保存するメディアコンテンツのURLを指定します。
次のコードを使用して、HTTP応答オブジェクトを作成します。
次のコード行を使用して、受信したコンテンツを.pngファイルとして保存できます。
上記のPythonスクリプトを実行した後、ThinkBig.pngという名前のファイルを取得します。このファイルには、ダウンロードしたイメージが含まれます。
URLからファイル名を抽出する
Webサイトからコンテンツをダウンロードした後、URLで見つかったファイル名を持つファイルに保存することもできます。 しかし、追加のフラグメントの数がURLにも存在するかどうかも確認できます。 そのためには、URLから実際のファイル名を見つける必要があります。
次のように出力を確認できます-
次のように出力を確認できます-
上記のスクリプトを実行すると、URLからファイル名が取得されます。
URLからのコンテンツのタイプに関する情報
GET要求によってWebサーバーからコンテンツを抽出している間、Webサーバーから提供された情報を確認することもできます。 次のPythonスクリプトの助けを借りて、コンテンツのタイプでWebサーバーの意味を判断できます-
まず、次のように必要なPythonモジュールをインポートする必要があります-
次に、ダウンロードしてローカルに保存するメディアコンテンツのURLを指定する必要があります。
次のコード行は、HTTP応答オブジェクトを作成します。
これで、Webサーバーが提供できるコンテンツに関する情報を取得できます。
次のように出力を確認できます-
コードの次の行の助けを借りて、コンテンツタイプに関する特定の情報、たとえばコンテンツタイプを取得できます-
次のように出力を確認できます-
次のコード行の助けを借りて、コンテンツタイプに関する特定の情報、たとえばETypeを取得できます-
次のように出力を確認できます-
次のコマンドを観察します-
次のように出力を確認できます-
次のコード行の助けを借りて、コンテンツタイプに関する特定の情報を取得できます。
次のように出力を確認できます-
画像のサムネイルを生成する
サムネイルは非常に小さな説明または表現です。 ユーザーは、大きな画像のサムネイルのみを保存する場合と、画像とサムネイルの両方を保存する場合があります。 このセクションでは、前のセクション「Webページからメディアコンテンツを取得する」でダウンロードした ThinkBig.png という名前の画像のサムネイルを作成します。
このPythonスクリプトでは、Pillowという名前のPythonライブラリをインストールする必要があります。Pillowは、画像を操作するための便利な機能を備えたPython Imageライブラリのフォークです。 次のコマンドの助けを借りてインストールすることができます-
次のPythonスクリプトは、画像のサムネイルを作成し、サムネイルファイルの先頭に Th_ を付けて現在のディレクトリに保存します。
上記のコードは非常に理解しやすく、現在のディレクトリでサムネイルファイルを確認できます。
ウェブサイトからのスクリーンショット
Webスクレイピングで非常に一般的なタスクは、Webサイトのスクリーンショットを撮ることです。 これを実装するために、セレンとwebdriverを使用します。 次のPythonスクリプトは、Webサイトからスクリーンショットを取得し、現在のディレクトリに保存します。
次のように出力を確認できます-
スクリプトを実行した後、 screenshot.png ファイルの現在のディレクトリを確認できます。
ビデオのサムネイル生成
Webサイトからビデオをダウンロードし、サムネイルに基づいて特定のビデオをクリックできるように、サムネイルを生成したいとします。 ビデオのサムネイルを生成するには、 www.ffmpeg.org からダウンロードできる ffmpeg というシンプルなツールが必要です。 ダウンロード後、OSの仕様に従ってインストールする必要があります。
次のPythonスクリプトは、ビデオのサムネイルを生成し、ローカルディレクトリに保存します-
上記のスクリプトを実行した後、ローカルディレクトリに保存された thumbnail_solar_video.jpg という名前のサムネイルを取得します。
MP4ビデオをMP3にリッピングする
Webサイトからビデオファイルをダウンロードしたが、目的に応じてそのファイルからの音声のみが必要な場合、次の支援でインストールできる moviepy というPythonライブラリの助けを借りてPythonでそれを行うことができますコマンド-
さて、次のスクリプトを使用してmoviepyを正常にインストールした後、MP4をMP3に変換できます。
次のように出力を確認できます-
上記のスクリプトは、ローカルディレクトリにオーディオMP3ファイルを保存します。