取得した要素(タグ)の属性にアクセスする

こんな感じのHTMLがあったとしよう。

hoge.html
<html>
    <head>
    ・・・
    </head>
    <body>
        選択してください。
       <select id='hoge'>
           <option value="#" selected>全て</option>
           <option value="001">区分1</option>
           <option value="002">区分2</option>
           <option value="003">区分3</option>
       </select>
    <body>
</html>

このHTMLから、optionタグに入っているコードと名称を取ってきたい。
名称は、

Pythonコード

文字コードまわりの手当は省略してます)

import logging
import urllib2
import BeautifulSoup

url = 'http://ほにゃらら/hoge.html
html = urllib2.urlopen(url).read()
soup = BeautifulSoup.BeautifulSoup(html)

#selectタグを取得
selectSoup = soup.find('select',{'id':'hoge'}) 
if(selectSoup):
    #optionタグをすべて取得
    optionSoup = soup.findAll("option")

    for opt in optionSoup:
        name = opt.renderContents()
        code = opt['value']

        logging.info(name)
        logging.info(code)
実行結果
全て
#
区分1
001
区分2
002
区分3
003

soupオブジェクト['タグ属性名']で取れるんですね。

参考:http://python.blog-slime.com/2007/07/beautifulsouphtml.html