我试图浏览一个包含 100 个项目的列表,并且只从每个列表项目中的类中获取第一个强标签(有些有 1 个,有些有超过 1 个)。在我试过的代码中,它获取所有带有强标签的项目,而不是总共 100 个项目,它获得 128 个项目。这是我的代码:for i in range(100):
artist = soup.find_all("strong" , {"class" : "chartItem-artist-artistName"})[i].getText()
print(artist)这是被网络抓取的 HTML 代码: HTML 代码的屏幕截图我定位的课程以红色突出显示 (chartItem-artist-artistInfo)我试图拉取的项目以蓝色突出显示(只有第一个强标签)我只想获得“DaBaby”而不是“&”或“Stunna 4 Vegas”
2 回答
慕少森
TA贡献2019条经验 获得超9个赞
尝试替换:
for i in range(100):
artist = soup.find_all("strong" , {"class" : "chartItem-artist-artistName"})[i].getText()
print(artist)
和:
artists = soup.select('div.chartItem-artist-info strong:nth-child(1)')
for artist in artists:
print(artist.get_text())
慕慕森
TA贡献1856条经验 获得超17个赞
<strong>
这将从下面的第一个元素获取文本class="chartItem-artist-info"
:
for t in soup.select('.chartItem-artist-info'): artist = t.strong.get_text() print(artist)
添加回答
举报
0/150
提交
取消