ログアウト中 ログイン

【Python】BeautifulSoup版スクレイピングツール開発講座 第1章1.2節「データ抽出機能の作成」




現在の見出し: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>
行数 種別 コード 解説 17行目 新規 title_element = soup.find('title') find()メソッドを使用してHTMLドキュメント内の最初のtitleタグを検索・抽出します。戻り値はTagオブジェクトまたはNoneです。 18行目 新規 print("タイトルタグ抽出完了") タイトルタグの抽出処理が完了したことを確認するメッセージを出力します。処理の進行状況を把握するための確認出力です。 19行目 新規 print(f"抽出要素: {title_element}") 抽出されたタイトル要素の内容を表示して正常に取得できたことを確認します。タグ全体(開始タグ、内容、終了タグ)が表示されます。
.text属性による文字データ取得機能の追加

第1章1.2節「.text属性による文字データ取得機能の追加」の続きを見る


すべてのカリキュラムを無料登録で学ぶ

プログラミング・マーケティング・AI活用方法を
今すぐ無料登録すると、全てのコンテンツが視聴可能になります。