在 BeautifulSoup 中获取类中的第一个强标签

我试图浏览一个包含 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”


茅侃侃
浏览 120回答 2
2回答

慕少森

尝试替换: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())

慕慕森

<strong>这将从下面的第一个元素获取文本class="chartItem-artist-info":for&nbsp;t&nbsp;in&nbsp;soup.select('.chartItem-artist-info'): &nbsp;&nbsp;&nbsp;&nbsp;artist&nbsp;=&nbsp;t.strong.get_text()&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(artist)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python