我想从网站中提取文本,格式如下:
<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
提前感谢!
您正在迭代这些项目,但没有将它们放在任何地方。因此,完成循环后,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']