\

Pythonの外部ライブラリであるBeautifulSoup4を使うと、HTMLやXMLを簡単にパースできます。特定の要素のテキスト内容を取得したい場合などがあります。そういう時はBeautifulSoup4でタグをfindして、そのfindしたタグのテキストを得ます。

タグのテキストを取得する

タグのテキストは get_text() で取得できます。以下にその例を示します。

from bs4 import BeautifulSoup

html = '<p>Hello, </p><p>World!</p>'
soup = BeautifulSoup(html, 'html.parser')
print(soup.get_text())

このコードを実行すると、Hello, World!という結果が得られます。

findでテキストを検索する

find() の引数に text があります。これに文字列を指定すると、その文字列の内容を持ったタグを取得できます。以下にその例を示します。

from bs4 import BeautifulSoup

html = '<p>Hello, </p><p>World!</p>'
soup = BeautifulSoup(html, 'html.parser')
found = soup.find(text='World!')
print(type(found))
print(found)

このコードを実行すると、<class 'bs4.element.NavigableString'>World!という結果が得られます。

以上、PythonとBeautifulSoupを使った文字列検索について解説しました。この方法を覚えておくと、スクレイピングなどがはかどります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です