使用Tag.find_all()获取每个标签的值属性
我生成了一个包含我HTML文件中所有标签的列表,叫做'option'。但是我无法获取标签里面的值。
这是我的代码和数据:
>>> soup2 = soup.findAll('option')
>>> soup2
[
<option value="ufs_munic"> Por Município </option>,
<option value="ext_paises"> Por País </option>,
...
]
我想要获取每个标签中option value=
后面的引号里的值。
举个例子:
ufs_munic
ext_paises
5
6
7
8
9
...
2 个回答
0
在编程中,有时候我们需要处理一些数据,而这些数据可能来自不同的地方,比如用户输入、文件或者网络请求。为了让程序能够理解这些数据,我们通常需要把它们转换成程序能处理的格式。
比如说,如果你从一个网页上获取了一些信息,这些信息可能是以文本的形式存在的。为了让程序能够使用这些信息,我们需要把它们转换成程序能理解的结构,比如数组或者对象。
这个过程叫做“解析”,也就是把复杂的东西变得简单易懂。解析之后,我们就可以对这些数据进行各种操作,比如计算、显示或者存储。
总之,解析是让程序能够理解和使用数据的一个重要步骤。
>>> for item in soup2:
... print item['value']
1
通过使用列表推导式,你可以利用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!')