gpt4 book ai didi

python - 使用 BeautifulSoup 查找所选选项

转载 作者:太空狗 更新时间:2023-10-29 20:20:24 25 4
gpt4 key购买 nike

我只想获得选择的选定选项。例如:

<select>
<option value="0">2002/12</option>
<option value="1">2003/12</option>
<option value="2">2004/12</option>
<option value="3">2005/12</option>
<option value="4">2006/12</option>
<option value="5" selected>2007/12</option>
</select>

我知道我能做到

theSelectTag.findAll('option',attrs={'selected':''})

但这是返回所有选项。有没有办法获取属性存在的所有元素?请注意,我要求全部,因为我正在抓取的网站确实包含多个选项的 selected 属性。

我正在使用 Python 2.7 和 Beautiful Soup 4.1.2

最佳答案

传递 True 作为属性值将匹配所有具有该属性的元素:

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup('''<select>
... <option value="0">2002/12</option>
... <option value="1">2003/12</option>
... <option value="2">2004/12</option>
... <option value="3">2005/12</option>
... <option value="4">2006/12</option>
... <option value="5" selected>2007/12</option>
... </select>''')
>>> soup.find_all('option', selected=True)
[<option selected="" value="5">2007/12</option>]
>>> soup.find_all('option', {'selected': True})
[<option selected="" value="5">2007/12</option>]

还有 lxml:

>>> from lxml import etree
>>> root = etree.HTML('''<select>
<option value="0">2002/12</option>
<option value="1">2003/12</option>
<option value="2">2004/12</option>
<option value="3">2005/12</option>
<option value="4">2006/12</option>
<option value="5" selected>2007/12</option>
</select>''')
>>> root.xpath('//option[@selected]')
[<Element option at 0x228b7d0>]

关于python - 使用 BeautifulSoup 查找所选选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14863495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com