Tomute’s Notes

2013-03-08

[] Beautiful Soup 4へのポーティング

pythonで動作するHTMLXMLのパーサーであるBeautiful Soupをバージョン3からバージョン4にポーティングした際のメモ(非常に簡単)。


【前提】

Beautiful Soup 4(以降BS4)はpython 2.6以上かpython 3で動作する。


【修正ポイント】

・パッケージ名の変更

 BS4からパッケージ名が変わったので変更する。

(変更前)

from BeautifulSoup import BeautifulSoup

(変更後)

from bs4 import BeautifulSoup

エンコーディングの指定形式の変更

 ワーニングを消すために引数の名称を変更。

(変更前)

soup = BeautifulSoup(html, fromEncoding='Shift_JIS')

(変更後)

soup = BeautifulSoup(html, from_encoding='Shift_JIS')

以上でポーティング終了である。


【その他】

BS4で良いなと思ったのは、get_text()でタグに挟まれた文字列を取得する事が出来るようになった点。

stringとの違いは前後の空白を削除してくれる所。


【参考ドキュメント】

Porting code to BS4 ― Beautiful Soup 4.0.0 documentation