WEBスクレイピング基本編

PythonでWEBスクレイピングする方法

スクレイピングで一番使うのが、画像を集める時や電話番号や住所などをCSVなどで書き出したり、そのようなデータを収集するときなどではないでしょうか?

そこで、今日は、よく使う画像、しかも「png」画像などは、WEBデザインなどで重宝するので、「png」画像を集める方法を記しておきます。

今回は「いらすとや」のURLを渡すだけで、検索結果にある画像をすべて自動でダウンロードしてくれるプログラムです。

プログラムを実行するだけで、画像を一気にダウンロードされるように出来ます。
ここでは、ねこのイラストだけ取得します。

説明

やり方

出力先のフォルダを作成
スクレイピングしたいURLを設定
空のリストを用意
検索結果から各画像ページのリンクを取り出す
検索結果ページのURLからhtmlを取得
検索結果ページのhtmlからBeautifulSoupオブジェクト取得
画像リンクのあるaタグをすべて取得
画像リンクを1つずつ取り出す
画像リンクからURLを抽出
URLをリストに追加
各画像ページにある画像ファイルのURLを特定
画像ページのURLを1つずつ取り出す
画像ページのhtmlを取得
画像ページのオブジェクトを作成
画像ファイルのあるタグをすべて抽出
画像ファイルのタグを1つずつ取り出す
画像ファイルのURLを抽出
画像ファイルの名前を抽出
保存先のファイルパスを作成
画像ファイルのURLからデータをダウンロード
出力フォルダにデータを保存
保存したファイル名を表示

上記の流れでのプログラムになります。

5秒程度で、上記の動作をすべて実行してくれます。
ちなみにこの時は、たった3秒で、データを抜き出す事が出来ました。

それでは保存されたフォルダを確認してみます。

画像の説明

はい。このように無事に保存できていますね。

WEBスクレイピングを使えば、Google上で公開されているビッグデータをそのまま生かしてURLから必要なデータだけ抽出できます。
とても重宝するのではないでしょうか?

私はこの方法で、例えば、Yahoo電話帳から電話番号、潜在見込みのジャンル、住所だけという感じで指定してCSVに書き出すようプログラムしてデータを抽出し自分だけの名簿など作成したりしています。

10秒で膨大なデータを必要な部分だけ整理された状態で表に書き出してもらっています。
非常に仕事の戦力になります。

WEBスクレイピングは、極めて重要な手法になるのではないでしょうか。

応用で、便利なのが、
SeleniumとScrapyを合わせると膨大なデータ取得などに重宝します。

以上です



コメント


認証コード1507

コメントは管理者の承認後に表示されます。