2011-07-24 15 views
0

pythonを使用してHTMLページで選択したオプションを見つける方法を教えてください。HTMLページで選択されたオプションを見つける

次の例では、 "BOB"文字列をどのように見つけることができますか?

<select id="worker" name="worker"> 
<option value="Eve">EVE</option> 
<option value="Bob" selected>BOB</option> 
<option value="Alice">ALICE</option> 
</select> 
+0

何を使用していますか?あなたはwebappを持っていて、何が投稿されたのか、あるいはページを解析したいのかを知る必要がありますか? –

答えて

1

あなたはPythonスクリプト内で、変数html内のすべてのHTMLドキュメントを持っているとしましょう。最も簡単な方法は、次のようになります:

from xml.dom.minidom import parseString 
dom = parseString(html) 
for element in dom.getElementsByTagName('option'): 
    if element.getAttribute('selected'): 
     # process selected element 

しかし、あなたの特定のHTMLは(selected属性をぶら下げ)整形式ではなく、このスニペットで解析するために失敗します:(

そして、私はあなたの怖いですそれは1がオフの仕事だ場合は、HTML文書を解析することではなく、フォームの送信結果:)

0

を処理しないか、すべてのXMLテキストは、これと同じフォーマットに従うならば、あなたは そうのような正規表現を使用することができます。

import re 
text = yourtext 
matches = re.findall(r'\bselected>([\w]+)<', text,re.MULTILINE) 
matches[0] #should return 'Bob' 

正規表現を使用すると、変更の場合には簡単に破ら データに影響を受けやすいので、あなたは確実に データを取得したい場合は特に、適切なXMLにテキストを変更して@spacediverが提案されているよう それを解析する方が良いだろう。

関連する問題