底辺プログラマーBlog
日常で学んだことなどを記事にしていきます。
Python

Python+BeautifulSoup+Requestsでスクレイピング

今回はPythonでスクレイピングを行おうと思います。特に何かするためというわけではなく、学習用に残しておこうと思って記事を書いていきます。

Contents

スクレイピングとは?

スクレイピングは、ウェブサイトから情報を取得し、その情報を加工して新たな情報を生成することです。Webスクレイピングとも呼ばれ、スクレイピングを行うプログラムをスクレイパーと呼びます。

情報を取得するところまではクローリングと同じですが、スクレイピングでは取得した情報を加工する工程も含まれます。ただ、明確な定義があるわけではないので、クローリングとスクレイピングを同じような意味で使っている場合もあります。

スクレイピングの例としては、様々なニュースサイトを巡回して見出しを抜き出して一覧にしたり、商品のデータを集めて価格表を生成したりするといったものが挙げられます。

TECH NOTEより転記

本来であればブラウザやアプリを開いてサイトにアクセスして必要な情報を閲覧するといった手順をスクレイピングを使用すればサイトにアクセスする必要なしに情報を取得するツールを作成することが可能になります。

株価の変動を監視するツールを作成できればかなり需要があるかと思います。

BeautifulSoupのインストール

コマンドプロンプトを起動して下記のコマンドを実行してください。

beautifulsoup4を指定しないとbeautifulsoup3がインストールされてしまうので必ず指定するようにしましょう。

インストールはこれだけで完了です。

Requestsのインストール

Requestsも同じようにコマンドプロンプトから下記のコマンドを実行してください。

Requestsのインストールはこれで終了です。

ライブラリのバージョン確認方法

beautifulsoupとRequestsのインストールが完了した後はきちんとインストールされているか確認するためにコマンドプロンプトを起動して下記のコマンドを実行してください。

下記のように表示されればOKです。他にインストールされているライブラリも表示されますが、確認するのは以下の部分だけです。

バージョンが表示されていれば問題なくインストールされています。

取得したい対象を確認する

今回は勉強がてらに筆者のブログのタイトルを取得するコードを作成しましょう。
まずはTopページにアクセスしてタイトルがどの要素なのかを確認します。

筆者ブログのTopページを表示したらF12を押して開発者ツールを起動します。InternetExplorerでもGoogle Chromeでも同じくF12で起動できます。

ツールを起動したのち、赤丸を付けたボタンをクリックした後でブログのタイトルをクリックしてください。

クリックすると下記のようにHTMLが表示されます。

 

実際にコードを書いてみる

デバッグ実行が可能な環境であれば変数の値を確認しながら進めることができるのでぜひデバッグ設定を行っておきましょう。筆者はVisual Studio Codeを使用してデバッグをしています。設定方法は省きます。

出力結果は『底辺プログラマーの雑記ブログ』と表示されていればOKです。

最後に

スクレイピングのかなり基礎的なコードを記載しました。
次はもっと実践的なコードを作成していきます。

今回の記事は以上となります。最後まで読んで頂きありがとうございます。

%d人のブロガーが「いいね」をつけました。