pythone learning
TOP > Python learning > Python learning > bs4.BeautifulSoup関数

bs4.BeautifulSoup関数

HTMLの要素を切り出せる形に変換する方法として、
BeautifulSoup4モジュールのBaeutifulSoup関数で実施する。

この関数はスクレイピングのためのモジュールであり、指定したHTMLから、指定した要素を切り出す処理ができます。

書式

bs4.BeautifulSoup(HTMLデータ,パーサーの種類)

BeautifulSoup4モジュールをインポートするコードは
「import bs4」になります

第一引数((HTMLデータ)の記述

bs4.BeautifulSoup(HTMLデータ,パーサーの種類)の第一引数(HTMLデータ)の部分については,「requests」モジュールの「get」関数で行います。
書式は下記であり、requests.get関数でも説明しています

requests.get(目的のwebページのURL)

requests.getの結果を変数rsに代入し
rs=requests.get('http://xxxxxxxxx')
と記入した場合


bs4.BeautifulSoup(rs.text.encode(rs.encoding),'html.parser')

となります

上記の(rs.text.encode(rs.encoding)は接続したWebページのHTMLを取得し、文字化けしない様に変換しています。
rs.textだけでテキストの取得ができます。しかし、エンコードの関係で文字化けしてしまうために、適切なエンコードに修正して文字化けを防いでいます。

第二引数 パーサーの種類 の記述

第二引数の「パーサーの種類」には。文字列「html.perser」を指定するように決められています。

文字列なので、「’ '」で囲って記述します。

「パーサー」とはHTMLを解析して切り出すためのプログラムの事です。

まとめ

上記2つの引数を指定して実行すると、bs4.BeautifulSoup関数の戻り値としてHTMLの要素の切り出せる形に変換されたものが得られます。
それを、「BeautifulSoupオブジェクト」と呼ばれます。

通常はこの戻り値のBeautifulSoupオブジェクトも変数に代入して以降の処理に使います。

変数をspとした場合 ,第一引数((HTMLデータ)の記述 を上記のrsとすると。 

sp=bs4.BeautifulSoup(rs.text.encode(rs,encoding),'html.parser')

となります