名称和值查找集合,使用beautifulsoup从下拉列表加载

Bla*_*man 0 python dictionary beautifulsoup

在我的html页面上,我有一个下拉列表:

<select name="somelist">
   <option value="234234234239393">Some Text</option>
</select>
Run Code Online (Sandbox Code Playgroud)

所以得到我正在做的这个列表:

ddl = soup.findAll('select', name="somelist")

if(ddl):
    ???
Run Code Online (Sandbox Code Playgroud)

现在我需要这个集合/字典的帮助,我希望能够通过'Some Text'和234234234239393进行查找.

这可能吗?

Eli*_*sky 5

请尝试以下操作开始:

str = r'''
<select name="somelist">
   <option value="234234234239393">Some Text</option>
   <option value="42">Other text</option>
</select>
'''

soup = BeautifulSoup(str)
select_node = soup.findAll('select', attrs={'name': 'somelist'})

if select_node:
    for option in select_node[0].findAll('option'):
        print option
Run Code Online (Sandbox Code Playgroud)

它打印出option节点:

<option value="234234234239393">Some Text</option>
<option value="42">Other text</option>
Run Code Online (Sandbox Code Playgroud)

现在,对于每个option,option['value']都是value属性,并且option.text是标记内的文本("Some Text")