html选择选项到列表中

时间:2010-12-06 19:06:46

标签: python html text-processing

有没有办法可以将以下HTML格式<option>s中的所有<select>选择到python列表中,就像这样,['a','b','c','d “]?

<select name="sel">
   <option value="a">a</option>
   <option value="b">b</option>
   <option value="c">c</option>
   <option value="d">d</option>
</select>

非常感谢提前。

2 个答案:

答案 0 :(得分:5)

import re
text = '''<select name="sel">
   <option value="a">a</option>
   <option value="b">b</option>
   <option value="c">c</option>
   <option value="d">d</option>
</select>'''
pattern = re.compile(r'<option value="(?P<val>.*?)">(?P=val)</option>')
handy_list = pattern.findall(text)
print handy_list

将输出

['a', 'b', 'c', 'd']

免责声明:使用正则表达式解析HTML在一般情况下不起作用。

答案 1 :(得分:2)

如果你想解析其他HTML数据,你可能想看看BeautifulSoup

from BeautifulSoup import BeautifulSoup

text = '''<select name="sel">
   <option value="a">a</option>
   <option value="b">b</option>
   <option value="c">c</option>
   <option value="d">d</option>
</select>'''

soup = BeautifulSoup(text)

print [i.string for i in soup.findAll('option')]