有没有办法可以将以下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>
非常感谢提前。
答案 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')]