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

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

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

Contents

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

関連記事

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

OpenCV を使って、Python で画像の中から顔部分を切り出したときのメモです。 顔部分

記事を読む

【Python】Requests ライブラリを使って Web ページを取得してみた。

python の標準ライブラリ urllib を使っても Web ページの取得はできるのですが、Re

記事を読む

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

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

記事を読む

【Atomエディタ】Python 開発用にインストールしてみた。

Python でプログラミングするときの エディタ を探していたのですが、とりあえず Atom とい

記事を読む

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

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

記事を読む

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

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

記事を読む

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

OpenCV のインストール Numpy のインストール [crayon-65114bc03

記事を読む

【Google Colaboratory】クラウド上でPythonを使って機械学習を行う。

Python をブラウザ上で実行して、手軽に機械学習ができる環境「Google Colaborato

記事を読む

【Python】プログレスバーを表示させる【tqdm】

Python でスクリプトの実行時間が長くなると、進捗状況が知りたくなったので、標準出力にどのくらい

記事を読む

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

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

記事を読む

【Cubase】イヤホンから音がでないときの対処方法。

Cubase でイヤホンから音がでなくなったときの対処方法のメモです。

【Cubase】特定のトラックを無効にする方法。

今回は、Cubaseで特定のトラックのみを無効にする方法について紹介し

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

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

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

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

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

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

→もっと見る

PAGE TOP ↑