Memoize2

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

Page Top

Index

Bw

Author: 中村 心 Shin Nakamura, Email: sn(at)i.basicwerk.com


© Shin Nakamura/BasicWerk 2008 - 2017