取得した要素(タグ)の属性にアクセスする
こんな感じの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