bs4.BeautifulSoup関数
HTMLの要素を切り出せる形に変換する方法として、
BeautifulSoup4モジュールのBaeutifulSoup関数で実施する。
書式
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')
となります