python でwebスクレイピングを実施してみたい
webスクレイピングとは
(プログラムで)ホームページの情報を集めることです
本記事のタイトルでも ある「気軽に」という ポイントがありますので
python の実行環境は googleアカウントがあれば実施可能な
Google Colaboratory
を利用したいと思います
Google Colaboratory(グーグル・コラボレイトリーもしくはコラボラトリー)とは、Googleが機械学習の教育及び研究用に提供しているインストール不要かつ、すぐにPythonや機械学習・深層学習の環境を整えることが出来る無料のサービスです
上記の記事を参照してノートブックの作成を実施します
CEML(臨床工学技士機械学習研究会)のサイトをスクレイピング
私が機械学習を使えるようになったきっかけ
https://sites.google.com/view/ce-machine-learning-lab/home
CEML(臨床工学技士機械学習研究会)
のサイトの(プログラムで)ホームページ情報を集めてみるソースコードを書いてみます
!pip install requests
まずはrequestsインストールしました
次にrequestを使用します
from urllib import request
response = request.urlopen('https://sites.google.com/view/ce-machine-learning-lab/home')
content = response.read()
response.close()
html = content.decode()
title = html.split('<title>')[1].split('</title')[0]
print(title)
サードパーティライブラリ
上記のソースコードで使用されているのは
request という サードパーティライブラリ です
サードパーティライブラリ
Pythonで強力にカスタマイズされたライブラリで
代表的なサードパーティライブラリ 用途 の例でいうと
numpy 数値計算
matplotlib グラフ作成
pandas データ操作、データ集計
Request リクエストモジュール
BeautifulSoup スクレイピングライブラリ
scikit-learn 機械学習ライブラリ
tensorflow 深層学習ライブラリ
jupyter 実行環境、データ分析
となっております
サードパーティライブラリのrequestを使うとよりシンプルに
ホームページ情報を集めてみるソースコードが記載可能です
requests.get()を使用してみる
requests.get()はHTTPのGETメソッドに相当します
HTTPはインターネットをするときに使うお約束事「のひとつ」です
import requests
url = 'https://sites.google.com/view/ce-machine-learning-lab/home'
response = requests.get(url)
response
response.text[:500]
HTMLファイルの内容は文字のみで構成されたテキストデータで
地の文とタグが混在した状態で表示されます
Beautiful Soup でHTMLから 必要なデータを抜き出す
Beautiful SoupはHTMLファイルなどからデータを抽出するためのPythonライブラリです
Google Colaboratoryを利用して
先ほどスクレイピングしたHTMLデータを
Beautiful Soupでデータ抽出を 実行します
!pip install beautifulsoup4
まずはBeautiful Soupをインストールしました
次にBeautiful Soupを使用します
from bs4 import BeautifulSoup
soup = BeautifulSoup(response.text, "html.parser")
soup
HTML文書をBeautifulSoupの第1引数に渡して、第2引数に使用するパーサーを指定するだけで解析をしてくれます
HTMLパーサーは、HTML文書を解析して、プログラム内で扱いやすいデータに置き換える処理を行います
まとめ
今回
Google Colaboratoryを利用して
CEML(臨床工学技士機械学習研究会)のサイトをスクレイピングしました
その後、スクレイピングしたHTMLデータを
Beautiful Soupでデータ抽出を実行しました
次回はyahooニュースをスクレイピングして形態素解析をします