Python
 Computer >> コンピューター >  >> プログラミング >> Python

BeautifulSoupパッケージを使ってPythonでWebページからデータを解析する方法

BeautifulSoupは、Webページからデータを解析(パース)するために使われるPythonのサードパーティ製ライブラリです。Webスクレイピング、すなわちさまざまなリソースからデータを抽出・利用・加工する一連のプロセスを支援します。

Webスクレイピングは、研究目的のデータ収集だけでなく、市場トレンドの把握や比較、SEOモニタリングなど、幅広い用途に活用できます。

Windows環境にBeautifulSoupをインストールするには、以下のコマンドを実行します。

pip install beautifulsoup4

実行例を見てみましょう

サンプルコード

import requests
from bs4 import BeautifulSoup
from urllib.request import urlopen
import urllib
url = 'https://en.wikipedia.org/wiki/Algorithm'
html = urlopen(url).read()
print("Webページを読み込んでいます...")
soup = BeautifulSoup(html, features="html.parser")
print("Webページを解析しています...")
for script in soup(["script", "style"]):
    script.extract() # 不要な要素を削除
print("Webページからテキストを抽出しています...")
text = soup.get_text()
print("データをクリーニングしています...")
lines = (line.strip() for line in text.splitlines())
chunks = (phrase.strip() for line in lines for phrase in line.split(" "))
text = '\n'.join(chunk for chunk in chunks if chunk)
text = str(text)
print(text)

出力結果

Webページを読み込んでいます...
Webページを解析しています...
Webページからテキストを抽出しています...
データをクリーニングしています...
Recursive C implementation of Euclid's algorithm from the above flowchart
Recursion
A recursive algorithm is one that invokes (makes reference to) itself repeatedly until a certain condition (also known as termination condition) matches, which is a method common to functional programming….
…..
Developers
Statistics
Cookie statement

コードの解説

  • 必要なパッケージをインポートし、エイリアスを設定します。

  • 取得対象となるWebサイトのURLを定義します。

  • URLを開き、「script」タグなど解析に不要なHTMLタグを除去します。

  • 「get_text」関数を使って、Webページのデータからテキスト部分を抽出します。

  • 余分な空白や不要な文字列を取り除き、テキストを整形します。

  • 最後に、整形済みのテキストをコンソールに出力します。

  1. PythonのSeabornライブラリでcountplotを使ってデータを可視化する方法

    Seabornは、データの可視化を支援するPythonライブラリです。カスタマイズされたテーマと高水準のインターフェースを備えており、美しいグラフを簡単に作成できます。 これまでのプロットでは、データセット全体をグラフ上に描画してきました。一方、棒グラフ(bar plot)を活用すると、データ分布の中心的な傾向(中央傾向)を把握することができます。 barplot関数は、カテゴリ変数と連続変数の関係を表現するのに役立ちます。データは長方形のバーとして描画され、バーの長さがそのカテゴリにおけるデータの割合を示します。 barplotの特殊なケースがcountplotです。countplotは、第

  2. PythonのSeabornライブラリで棒グラフ(barplot)を使う方法をわかりやすく解説

    Seabornは、データの可視化を支援するPythonライブラリです。洗練されたカスタムテーマと高水準インターフェースを備えており、少ないコード量で美しい統計グラフを作成できるのが大きな特徴です。 棒グラフ(barplot)とは これまでの散布図などのプロットでは、データセット全体をグラフ上に描画していました。一方、棒グラフ(bar plot)を利用すると、データ分布の中心的な傾向(中央傾向)を直感的に把握することができます。 barplot関数は、カテゴリ変数と連続変数の関係を表現するために使用します。データは長方形のバーとして描画され、バーの高さ(長さ)がそのカテゴリにおける値の大きさや割