【Python】Beautiful Soup を使ってスクレイピングする方法。

公開日: : 最終更新日:2020/04/19 Python , , ,

Beautiful Soup は、シンプルでわかりやすい API でデータを抜き出せる Python のライブラリです。

Beautiful Soup のインストール

Beautiful Soup を pip でインストールします。

インストールは正常に完了したのですが、以下のようなメッセージが表示されたので、pip を upgrade しました。

You are using pip version 8.1.1, however version 18.1 is available.
You should consider upgrading via the ‘pip install –upgrade pip‘ command.

pip のバージョンが 18.1 になりました。

wget でファイルを取得

スクレイピングするためのファイルを wget コマンドで取得します。

取得したファイル一覧を tree コマンドで確認します。

Requests で HTMLを取得する

先ほどは、wget で HTML ファイルを取得しましたが、Python ライブラリの requests を用いてもデータを取得することができます。

以下のように URL を指定します。HTTP に関する情報も取得できるようなので、コードとコメントで出力結果を載せておきます。

Beautiful Soup4 でスクレイピングする

先ほどダウンロードしたファイルの中から、index.html に含まれるリンクのURLとテキストを表示してみます。

以下のような python のコードを実行します。

WikiPedia のページをスクレイピング

実際に、上の requests で取得した wikipedia のページに対して、どのような情報が取れるか確認しました。コメントで説明と出力結果を載せておきます。

あと、find や find_all を入れ子で使う場合は、値が取れない箇所があるとエラーになってしまうので注意が必要かと思いました(実際にそこでハマってしまいました)。

関連記事

【Spyder】引数のあるスクリプトを実行する方法。

Python の統合開発環境(IDE)である Spyder では、簡単にスクリプトを実行できます。

記事を読む

【Python】Windows で ライブラリ(NumPy) をインストールする方法。

Windows の Python(2.X系)で NumPy をインストールしようと思ったら、そもそも

記事を読む

【matplotlib】 Python でヒストグラムの横軸と棒(ビン)の数を調整する方法。

Python の matplotlib を使ってヒストグラムを描画し、横軸の目盛りと棒(ビン)がそろ

記事を読む

【Pandas】 DataFrame の行を抽出する方法【Python】

今回は、Python の Pandas で、DataFrame 型の行を抽出する方法を紹介します。

記事を読む

【Python】漢字を分解するライブラリを使ってみた【部首分解】

Python で漢字を部首やさらに細かい部分に分解してくれるライブラリがあったので使ってみました。

記事を読む

【Pandas】 DetaFrame の列ごとに演算する方法【Python】

今回は、DetaFrame の列ごとに平均や加算・減算なのど演算をし、結果を DetaFrame 型

記事を読む

【Pandas】 DataFrame と Series のデータ構造について【Python】

今回は、Python でデータ分析を行っていると必ず使う Pandas の DataFrame と

記事を読む

【Anaconda】Prompt 上で Git コマンドを実行する方法。

Anaconda のコマンドプロンプト(Anaconda Prompt)上で、Git Hub からダ

記事を読む

【Python】pip3 で「cannot import name ‘main’」エラーが出たときの対処法。

Python でライブラリをインストールする際に、pipを使います。 Python2 と Py

記事を読む

【Python】OpenCV を使って顔画像を検出してみた。

OpenCV のインストール Numpy のインストール [crayon-61a4dc9d2

記事を読む

【TensorFlow】GPUを認識しない時の対処方法【Python】

TensorFlow で GPU を認識させようとしたときにハマってし

【耳コピ】音楽ファイルを楽器ごとに分離する方法【Spleeter:フリー】

今回は、mp3 などの音楽ファイルをボーカル、ベース、ドラムなどの楽器

【Chainer】手書き数字認識をしてみた【Deep Learning】

Chainerを用いて、ニューラルネットワークを構築し、手書き数字認識

【Spyder】引数のあるスクリプトを実行する方法。

Python の統合開発環境(IDE)である Spyder では、簡単

【Anaconda】Prompt 上で Git コマンドを実行する方法。

Anaconda のコマンドプロンプト(Anaconda Prompt

→もっと見る

PAGE TOP ↑