レッスン2 / 3問目

『セレクタの指定』

前回のレッスンではsoup.select_one()soup.select()にidとclassを指定し、要素を取得しました。

この他にも、全ての要素を取得する指定、要素名で取得する方法があります。

*すべての要素を取得
要素要素名で指定
#id名idで指定
.class名classで指定

ではこれらについて見ていきましょう。


まずは、「 * 」を用いて全ての要素を取得します。

  1. from bs4 import BeautifulSoup
  2. html = """
  3. <h1>スクレイピングサンプル</h1>
  4. <p>Hello</p>
  5. <p>Scraping</p>
  6. """
  7. soup = BeautifulSoup(html, "html.parser")
  8. print(soup.select_one("*"))    # 全要素を取得
[<h1>スクレイピングサンプル</h1>, <p>Hello</p>, <p>Scraping</p>]

また、以下は要素名での指定です。

  1. print(soup.select("p"))    # 要素名を指定
[<p>Hello</p>, <p>Scraping</p>]

では、このレッスンは以上となります。
練習問題にチャレンジしましょう。

Lesson1

htmlからBeautifulSoupオブジェクトを生成してください

Lesson2

htmlから要素を全て取得し、出力してください。

Last updated:2019/12/24

[<h1>スクレイピングサンプル</h1>, <p>Hello</p>, <p>Scraping</p>]
  1. html = """
  2. <h1>スクレイピングサンプル</h1>
  3. <p>Hello</p>
  4. <p>Scraping</p>
  5. """
  6. # 1. BeautifulSoupオブジェクトを生成してください
  7. from bs4 import BeautifulSoup
  8. soup = BeautifulSoup(html, "html.parser")
  9. #2. 要素を全て取得し、出力してください。
  10. print(soup.select("*"))
main.py
設定
g
n
i
d
a
o
L