2013-07-05 32 views
6

質問がここにあります。ここにタグに属性を追加しようとしています.FlowSoupメソッドを使用できるのか不思議です。プレーンな文字列操作を使用する必要があります。BeautifulSoup - タグに属性を追加する

この例は、奇妙な説明であるため、おそらくこれを明確にするでしょう。

HTMLコードが現在どのように見えるか:

<option value="BC">BRITISH COLUMBIA</option> 

私はそれが見たい方法:助けを

<option selected="" value="BC">BRITISH COLUMBIA</option> 

感謝を! BeautifulSoupで

答えて

16

簡単:)

>>> from bs4 import BeautifulSoup 
>>> soup = BeautifulSoup('<option value="BC">BRITISH COLUMBIA</option>') 
>>> soup.find('option')['selected'] = '' 
>>> print soup 
<html><body><option selected="" value="BC">BRITISH COLUMBIA</option></body></html> 

属性は辞書として見することができます。だから我々は{'value':'BC'}を持っていて、辞書に値を追加するだけです。dict[key] = value

+0

ありがとう、ありがとう!私はあなたがここにいる間、もし私がページを撮ったら、これらの州だけを探して、それらのリストを作成しました。私はそれらのうちのいくつかが私が欲しいタグであることを発見しています、そして、いくつかは、 "どこから来たのか分かりません"すべての "ナビゲーション文字列"です。それらを取り除くための任意のアイデア? –

+1

@ KelanPoten-Coyleおそらくリストをフィルタリングすることができます: '[i for the_list if i!= u '\ n']'。または類似のもの。または、地域を取得するときに 'find_all'検索を指定する必要があります(find_allを使用していると仮定しています) – TerryA

関連する問題