【Python無料学習】Webスクレイピング入門

※この記事は「2020年8月11日」に更新しました。

無料で学習できる Python(パイソン)講座。

今回は、Webスクレイピングについて。

前回は、ファイル操作について、紹介しました。

【Python無料学習】ファイル操作

【Python無料学習】ファイル操作

2020年7月26日

インターネットというインフラが確立して、もはやないと困る存在にまでなりました。

普段パソコン作業をしているとほとんどがインターネットを使った作業だということに気付かされます。

この Webスクレイピングという分野は、Python の得意分野だったりします。

それでは解説していきます。

Webスクレイピングをする前に

Python(パイソン)を使えば、Webスクレイピングが簡単にできます。

しかし、Webサービスのなかには、Webスクレイピングを禁止しているものもあります。

利用規約は必ず確認しましょう。

サーバーに過度な負担をかけるのも相手にとって非常に迷惑な行為になります。

法的に訴えられる場合もあるので、注意しましょう。

著作権法や動産不法侵入などに該当する可能性があります。

利用目的に関しても、基本的に情報解析や私的利用に限ります。



Webスクレイピング入門

Webスクレイピング入門

それでは、Webスクレイピングについて解説していきます。

Webスクレイピングとは

Webスクレイピングとは、プログラムを使って、Webからコンテンツをダウンロードして処理することです。

インターネット上の膨大なデータを効率良く集めることができます。

例えば、Google は、多数の Webスクレイピングプログラムを使っています。

検索エンジン用の Webページの索引を作ったりしています。

他にもスマホアプリで SmartNews というものがあります。

サクサクと話題の情報やニュースを収集するのに便利なアプリです。

こちらもスクレイピングが利用されています。

必要なライブラリについて

Python で Webスクレイピングをするためには、ライブラリを利用するのが一般的です。

よく利用されるものを紹介します。

Requests
インターネットからファイルや Webページをダウンロードするライブラリです。
Beautiful Soup
Webページの言語である、HTML を解析するためのライブラリです。

ライブラリをインストールする

それでは、実際にライブラリをインストールします。

以前、紹介した pip を使います。

詳しい使い方は下記記事をご参照下さい。

【Python無料学習】pipの使い方

【Python無料学習】pipの使い方

2020年7月4日

コマンドプロンプト(もしくは PowerShell)で以下のコマンドを実行していきます。

Requests のインストールです。

pip install requests

Beautiful Soup のインストールです。

pip install beautifulsoup4

Webスクレイピングの基本的な流れ

それでは、Webスクレイピングの基本的な流れを紹介します。

まずは、データの取得です。

import requests
from bs4 import BeautifulSoup

target_url = 'URL(Webスクレイピングしたいサイト)'
re = requests.get(target_url)

soup = BeautifulSoup(re.text, 'html.parser')

これでデータの取得ができたので、ここから必要なものだけ抽出していきます。

findメソッド、selectメソッド

抽出には、findメソッド、selectメソッドなどを使います。

どちらも似ているのですが、CSSセレクタを指定するときは、selectメソッドを使うとシンプルに書くことができます。

先程の続きで、findメソッドを使った例です。

soup.find('a')    # aタグを取得(最初に見つけた要素)
soup.find_all('a')    # aタグを全て取得
soup.find('p', class_='red_color_s')    # pタグで red_color_sクラスを取得

selectメソッドを使った例です。

soup.select_one('.red_color_s')    # red_color_sクラスを取得(最初に見つけた要素)
soup.select('#contents')    # contents(id属性)を取得

使いやすい方を使うと良いかと思います。

最後に

いかがでしょうか。

今回は、Webスクレイピングについて解説しました。

ブラウザには、開発者ツールというものがあるので、いっしょに使うとコードを検索するときに役立ちます。