我正在接收来自网络服务的数据及其以html格式回复我的数据。我得到的回复数据是这个下拉列表:
<span>
<select name="country" id="country" class="text " style="width:170px;">
<option value="">-Select country-</option>
<option value="Russia" >Russia</option>
<option value="America" >America</option>
<option value="Spain" >Spain</option>
<option value="France" >France</option>
<option value="X - 15" >X - 15</option>
</select>
</span>
我需要进一步处理这些数据并在python list中获取选项值。如何选择所有国家/地区名称并将它们收集到python列表中?
答案 0 :(得分:3)
在这种情况下,假设您将html
var中的html块作为字符串,则可以执行以下操作:
>>> import BeautifulSoup as bs
>>>
>>> html = bs.BeautifulSoup(html)
>>> html.findAll('option')
要获得更多的语法糖,请查看soupselect。
答案 1 :(得分:0)
import re
pattern = r"<option value=\"(.*)\" >"
val=re.findall(pattern,htmlCode)
val将包含所有值的列表
基于你的示例html代码,上面的正则表达式findall应该为你做的工作,但是如果你做了很多广泛的html代码解析,那么通常正则表达式不是一个好的选择。但对于像你这样的简单案例,这是最好的选择。