現在の見出し:1.2節:データ抽出機能の作成
見出し一覧
- 1.2節:データ抽出機能の作成
- - find()メソッドによる特定タグ抽出機能の実装
- - .text属性による文字データ取得機能の追加
【PR】『Python』を学べる企業・個人向けのプログラミングコース
find()メソッドによる特定タグ抽出機能の実装
前節(第1章 1.1節)で作成したコードを基盤として、find()メソッドによる特定HTMLHTMLはWebページを作成するためのマークアップ言語です。タグの抽出機能を追加します。BeautifulSoupオブジェクトオブジェクトはプログラムの要素の一つで、データとその操作手段を一つにまとめたものです。から必要な情報を取り出すためには、HTMLの構造を理解して目的の要素を正確に抽出する必要があります。
find()メソッドは、HTMLドキュメント内で指定したタグ名に一致する最初の要素を検索して返す機能を提供します。このメソッドの特徴と利点を以下にまとめます。
項目 | 内容 | 具体例 |
---|---|---|
検索対象 | 指定タグの最初の1つの要素のみ | soup.find('title') → 最初のtitleタグ |
戻り値 | TagオブジェクトまたはNone | 要素が見つからない場合はNoneを返す |
適用場面 | ページに1つだけ存在する要素 | title、h1、main要素など |
安全性 | 要素が存在しない場合の対処が可能 | ifif文はプログラムで条件分岐を行うための命令文です。文での存在確認ができる |
今回の実装では、titleタグを抽出対象として選択します。titleタグはすべての正常なHTMLページに存在し、ページの内容を表現する代表的な要素です。また、<head>セクション内に必ず1つだけ存在するため、find()メソッドの動作を確認する最適な対象となります。
# コード
import requests
from bs4 import BeautifulSoup
# 固定URLでHTMLデータを取得
url = "https://example.com"
response = requests.get(url)
print("HTMLデータ取得完了")
print(f"データサイズ: {len(response.text)}文字")
# HTML解析機能
soup = BeautifulSoup(response.text, 'html.parser')
print("HTML解析完了")
print(f"解析結果タイプ: {type(soup)}")
# 特定タグ抽出機能を追加
title_element = soup.find('title')
print("タイトルタグ抽出完了")
print(f"抽出要素: {title_element}")
# 実行結果
HTMLデータ取得完了
データサイズ: 1256文字
HTML解析完了
解析結果タイプ: <class 'bs4.BeautifulSoup'>
タイトルタグ抽出完了
抽出要素: <title>Example Domain</title>
title_element = soup.find('title')
print("タイトルタグ抽出完了")
print(f"抽出要素: {title_element}")