【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 を入れ子で使う場合は、値が取れない箇所があるとエラーになってしまうので注意が必要かと思いました(実際にそこでハマってしまいました)。

関連記事

【Python】 DataFrame の特定の列で出現回数をカウントして降順でソートする方法。

Python で DataFrame 型の特定の列を指定して、対象列の文字列の出現回数をカウントして

記事を読む

【Python】時系列データ(為替データ)をグラフ表示してみた。

今回は、pandas・matplotlib ライブラリを使って、時系列データ(為替データ)をグラフ表

記事を読む

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

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

記事を読む

【OpenCV】画像の顔部分を検出する方法【Python】

OpenCV を使って、Python で画像から顔部分の検出を行ったときのメモです。 Anac

記事を読む

【Atom エディタ】Python で Matplotlib のグラフを Atom 上に表示させる方法。

Atom エディタで Python の Matplotlib ライブラリを使って、Atom 上にグラ

記事を読む

【Python】Wikipedia のデータセットを取得し、文章を抽出する方法。

Wikipedia のデータセットを取得し、Python のライブラリを用いて文章を抽出する方法を紹

記事を読む

【Python】 複数の辞書型の同じ key を持つ value を計算に用いる方法。

Python で、複数の辞書型を読み込んで、同じキー(key)を持つ数値(value)を計算に使う方

記事を読む

【Python】 Series 型を dict(辞書型)に変換する方法。

Python で Series 型を dict(辞書型)に簡単に変換する方法を紹介します。 「

記事を読む

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

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

記事を読む

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

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

記事を読む

【転移学習】学習済みVGG16 による転移学習を行う方法【PyTorch】

今回は、PyTorch を使って、学習済みのモデル VGG16 を用い

【PyTorch】畳込みニューラルネットワークを構築する方法【CNN】

今回は、PyTorch を使って畳込みニューラルネットワーク(CNN)

【PyTorch】ニューラルネットワークを構築する方法【NN】

今回は、PyTorch を使って、ニューラルネットワーク(NN)を構築

【OpenCV】検出した顔画像部分を切り出す方法【Python】

OpenCV を使って、Python で画像の中から顔部分を切り出した

【Fashion-MNIST】ファッションアイテムのデータセットを使ってみた【TensorFlow】

今回は、機械学習用に公開されているデータセットの1つである「Fashi

→もっと見る

PAGE TOP ↑