遍历python中的特定标签

问题描述 投票:0回答:1

我想从网站中提取文本,格式如下:

<a href="#N44">Avalon</a>
<a href="#N36">Avondale</a>
<a href="#N4">Bacon Park Area</a>

我又如何通过href =“#N”选择那些'a'标签,因为还有其他几个?

我尝试创建一个列表进行迭代,但是当我尝试代码时,它仅选择一个元素。

loc= ['#N0', '#N1', '#N2', '#N3', '#N4', '#N5'.....'#N100']

for i in loc:
    name=soup.find('a', attrs={'href':i})    
print(name)

我知道

<a href="#N44">Avalon</a>

不是

<a href="#N44">Avalon</a>
<a href="#N36">Avondale</a>
<a href="#N4">Bacon Park Area</a

怎么样?

Avalon
Avondale
Bacon Park Area

提前感谢!

python list loops tags
1个回答
0
投票

您正在迭代这些项目,但没有将它们放在任何地方。因此,完成循环后,name中剩下的就是最后一项。

您可以将它们放在如下所示的列表中,并访问.text属性以仅从标记中获取名称:

names = []

for i in loc:
    names.append(soup.find('a',attrs={'href':i}).text) 

结果:

In [15]: names
Out[15]: ['Bacon Park Area', 'Avondale', 'Avalon']
© www.soinside.com 2019 - 2024. All rights reserved.