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

関連記事

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

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

記事を読む

【Pandas】 DataFrame のある列の最大値を含む行のインデックス値を取得する方法。

今回は、Pandas の DataFrame において、ある列で最大値を求めて、その最大値をもつ行に

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

【matplotlib】 Python で折れ線グラフを描く方法。

今回は、Python の matplotlib というライブラリを使って簡単に折れ線グラフを描く方法

記事を読む

【Pandas】 loc・ilocで1行のみ Series ではなく DataFrame で抽出する方法。

Python の Pandas で DataFrame から loc や iloc を使って行を抽出

記事を読む

【Python】API を使って Amazon の商品情報を収集する方法。

AmazonAPI ライブラリをインストール 以下のコマンドで python-amazon-sim

記事を読む

【Pandas】 DataFrame のインデックスを置き換える方法【Python】

今回は、Pandas の DataFrame型で、インデックス(index)を分かりやすいものに置き

記事を読む

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

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

記事を読む

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

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

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

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

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

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

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

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

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

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

→もっと見る

PAGE TOP ↑