获取使用tag.find_all()找到的每个标记的value属性



我已经生成了一个列表,其中包含我的HTML文件的所有标记,名为"option"。但我无法获取标签中的值。

这是我的代码和数据:

>>> soup2 = soup.findAll('option')
>>> soup2
[
  <option value="ufs_munic">&nbsp;&nbsp;Por Município&nbsp;&nbsp;</option>,
  <option value="ext_paises">&nbsp;&nbsp;Por País&nbsp;&nbsp;</option>,
  ...
]

我想得到每个标签中option value=之后的引用值。

例如:

ufs_munic
ext_paises
5
6
7
8
9
...

使用列表理解,您可以使用get方法从选项中获取所有值:

>>> soup2 = [option.get('value') for option in soup.findAll('option')]
>>> soup2
['ufs_munic', 'ext_paises', '5', '6', '7', '8', '9', ...]

如果选项没有定义选项,您甚至可以传递默认值:

option.get('value', 'There is no value!')
>>> for item in soup2:
...     print item['value']

最新更新