Python BeautifulSoup を使って HTML をパース¶
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
html = """<!-- SAMPLE -->
<p class="c">class c</p>
<p class="c2">class c2</p>
<p class="zz">class zz</p>
<p>just p</p>"""
soup = BeautifulSoup(html, 'lxml')
# p class 名の先頭が c で始まるものだけ text を print()
for p in soup.findAll('p') :
try : # p.attrs['class'] で class 要素が見つからなかったときに例外が発生
# p.attrs['class'] は配列である
if p.attrs['class'][0].startswith('c') :
print(p.get_text())
except Exception : # 単に print() をしなければいいだけなので except でループ処理を続行
continue
Last modified: 2016-12-19 | ||
|
||
|
|
||
| © Shin Nakamura/BasicWerk 2008 - 2025 |