サンプル
<div class="class" id="id">
<h1>タイトル</h1>
<h2>サブタイトル</h2>
<p value="abc">テスト</p>
<p value="abc def">テスト</p>
<p value="abc-def">テスト</p>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</div>
基本
書式 |
説明 |
サンプル |
* |
すべての要素 |
* |
要素名 |
要素名の要素 |
div |
.クラス名 |
id属性をつけた要素 |
div.class |
#id名 |
id属性をつけた要素 |
div#id |
プログラム
from bs4 import BeautifulSoup
html = '''\
<div class="class" id="id">
<h1>タイトル</h1>
<h2>サブタイトル</h2>
<p value="abc">テスト</p>
<p value="abc def">テスト</p>
<p value="abc-def">テスト</p>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</div>
'''
soup = BeautifulSoup(html, 'html.parser')
print(soup.select('*'))
print('-' * 30)
print(soup.select('div'))
print('-' * 30)
print(soup.select('div.class'))
print('-' * 30)
print(soup.select('div#id'))
print('-' * 30)
print(soup.select('h1,h2'))
print('-' * 30)
print(soup.select('div li'))
print('-' * 30)
print(soup.select('div > h1'))
print('-' * 30)
print(soup.select('h1 + h2'))
print('-' * 30)
print(soup.select('h1 ~ ul'))
print('-' * 30)
print(soup.select('p[value]'))
print('-' * 30)
print(soup.select('p[value="abc"]'))
print(soup.select('p[value="abc def"]'))
print(soup.select('p[value="abc-def"]'))
print('-' * 30)
print(soup.select('p[value~="abc"]'))
print('-' * 30)
print(soup.select('p[value|="abc"]'))
print('-' * 30)
print(soup.select('p[value^="abc"]'))
print('-' * 30)
print(soup.select('p[value$="def"]'))
print('-' * 30)
print(soup.select('p[value*="e"]'))
print('-' * 30)