BeautifulSoupは、HTMLやXMLファイルを解析し、データを抽出するための強力なライブラリです。ウェブスクレイピングに広く使用されており、ウェブページから特定の情報を取得するために使用されます。この章では、BeautifulSoupの基本的な使い方について学びます。
まず、BeautifulSoupライブラリとrequestsライブラリをインポートします。requestsライブラリは、ウェブページの取得に使用します。
requestsライブラリを使って、解析するウェブページを取得します。
# ウェブページの取得
=
=
取得したウェブページの内容をBeautifulSoupで解析します。解析の方法として、html.parser を指定します。
# BeautifulSoupによる解析
=
解析したHTMLから特定の要素を抽出します。例えば、ページのタイトルを取得するには、title タグを使います。
# タイトルの取得
=
# 出力: Example Domain
特定のタグを取得するために、find や find_all メソッドを使用します。
# 特定のタグの取得
=
# 出力: Example Domain
# すべてのリンクを取得
=
タグの属性でフィルタリングして、特定の要素を取得することができます。
# id属性を使ってフィルタリング
=
# class属性を使ってフィルタリング
=
BeautifulSoupを使って、ネストされたタグを簡単に取得できます。
# ネストされたタグの取得
=
BeautifulSoupでは、親タグ、子タグ、兄弟タグにアクセスすることもできます。
# 親タグの取得
= .
# 子タグの取得
= .
# 兄弟タグの取得
=
抽出したデータをファイルに保存することも簡単にできます。
# リンクのリストを取得
=
# リンクをファイルに保存
BeautifulSoupを使って、ニュースサイトから記事のタイトルとリンクを取得する例を示します。
# ニュースサイトのURL
=
=
=
# 記事のタイトルとリンクを取得
=
=
=
この例では、Hacker Newsサイトから記事のタイトルとリンクを取得しています。
この章では、BeautifulSoupを使ったウェブスクレイピングの基本的な使い方について学びました。BeautifulSoupを使うことで、HTMLやXMLファイルを解析し、特定のデータを抽出することができます。次の章では、Scrapyについて学びます。Scrapyは、より高度なウェブスクレイピングを行うための強力なフレームワークです。