こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
- Python・BeautifulSoupを用いたWebスクレイピングツールの構築事例を紹介します。
- 実践的なWebスクレイピング手法が学習できます。本記事で紹介するHTML解析手法をマスターすることで多様なWeb調査に応用できます。
- スクレイピングツールは既存の仮想通貨サイトを対象としており、最新ビットコインのトレンド解析を目的としています。
【Python × Beautiful Soup】Webスクレイピングツール作成概要
PythonのBeautiful Soupというライブラリを活用してWebスクレイピングを実践する方法を解説します。本記事では実際のWebサイトからデータ抽出を試みるため、実践的ノウハウの習得が可能です。
Beautifulを用いたWebスクレイピング
Beautiful Soupとは、Webサイトを構築するHTMLやXMLを取得するためのモジュールを意味します。本記事で紹介するツールは、BeautifulSoupを用いたPythonプログラミングをもとに、ビットコイン最新トレンド情報を解析することを目的としています。
本記事は実践的な内容を取り扱っているため、Webスクレイピングの概要やBeautifulSoupの基礎を知りたい方は、下記の記事を併せてご覧下さい。
【参考】Beautiful Soup
【Python】BeautifulSoupでWebスクレイピングに挑戦
Webスクレイピングとは、プログラムを用いてWebからコンテンツを取得・処理することを指す。一方で「スクレイピングツールはどのようにプログラミングされるのか?」本記事ではこの疑問に回答します。世の中にある多様なスクレイピング技法の中でもBeautifulSoupを用いた方法に絞って徹底解説。
【参考】Webスクレイピングを学ぶ
【Python】Webスクレイピング学習におすすめの入門本・動画教材8選|Webデータ収集・ブラウザ操作の自動化支援
「Webスクレイピングに興味がある!ビジネス現場で活用したい!」「BeautifulSoup、Request、Selenium等のPythonスクレイピングライブラリを使いこなせるようになりたい」このような要望にお応えします。
情報取得先のWebサイト
仮想通貨サイトはCOINTELEGRAPH(https://cointelegraph.com/)を対象として検討します。全世界の仮想通貨市場ニュースが配信されているサイトであり、トレンドを知る上で魅力的なサイトです。
Webスクレイピングツールの完成イメージ

上図のように、Pandas DataFrameを活用し、ビットコイントレンド情報(最新の記事タイトル、日付、概要、記事リンク)を表形式で出力します。取得できたデータはExcelファイル形式で保存します。
Webスクレイピングツール作成手順

プログラミング手順は、上図に従い進めます。詳しく解説すると以下です。
- PythonでBeautifulSoupのオブジェクト作成
- 前述のオブジェクトにWebサイトURLを渡し、HTML要素を全て抽出
- HTML要素の中から目的のHTML要素を見つける
- HTML要素に対して画像・テキスト・リンク取得メソッドを指定し、目的のデータを取得する
- 取得したデータはPandas DataFrameで整理
- 最終的に取得した結果をExcelファイルに保存
この先は有料会員のみ閲覧できるコンテンツです

既に有料会員の方はこちら:
会員について詳しく知る: