Python スクレイピングとは? 概要と注意点
スクレイピングとは?
一言でいえば、「Webページから必要な情報を抜き出すこと」です。
例えば、「気象庁から東京の1か月分の最高気温と最低気温を取得する」ということが可能です。
スクレイピングはPythonが得意なことの一つ です。
なぜなら、そのままPythonを使ってデータの解析もできるからです。
また、スクレイピングと混同されやすい言葉で「クローリング」があります。
違いを簡単に説明すると、以下のようになります。
▪スクレイピング
Webページから一回情報をダウンロードして、そこから必要な情報を抜き出す作業
(スクレイプ=削り取る、かき集めるの意味)
▪クローリング
Webページのハイパーリンクをたどって次々にWebページをダウンロードする作業
(クローラ=這うの意味。)
今回は、スクレイピングについて、仕組みや注意点を説明します。
◆目次◆
スクレイピングの仕組み
スクレイピングは以下のような流れで行います。
1. WebサーバーにURLをリクエストする
2. Webサーバーからレスポンスを受け取る
3. 受け取ったレスポンスから必要な部分を抜き出す
1と2はの部分を「HTTP通信」といい、
pythonでは「requestsモジュール」を使用して行います。
3の部分は「HTML解析」といい
pythonでは「beautifulsoup4モジュール」を使用して行います。
※各モジュールについては、別の記事で説明します。
例えば、
「Yahoo Japan!のトップページをリクエストして、レスポンスを受け取る」を
絵にすると以下のようになります。
※スクレイピングの説明のため
あえて「リクエスト」「レスポンス」という言葉を使っていますが
簡単に言うと、ブラウザにYahoo Japan!のトップページのURLを入力して
Yahoo Japan!のトップページを表示させただけです
スクレイピングの注意点
・利用条件の確認する(ログインが必要なサイトは、ログインに関する規約を確認する)
・著作権で保護されたコンテンツを商用利用しない
・サーバーに負荷がかかる行為は禁止(業務妨害となる場合もある)
もしもスクレイピングしてもいいのかわからない場合は、
サイト責任者へ相談してください。
許可を得て、常識の範囲内でスクレイピングを行えば、問題ありません。