HTML выбор опции в список - PullRequest
       9

HTML выбор опции в список

0 голосов
/ 06 декабря 2010

Можно ли как-нибудь выделить все <option>s в следующей HTML-форме <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 ]

5 голосов
/ 06 декабря 2010
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 с регулярными выражениями в общем случае не работает.

2 голосов
/ 06 декабря 2010

Возможно, вы захотите взглянуть на BeautifulSoup, если вы хотите проанализировать и другие HTML-данные также

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')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...