我試圖瀏覽一個(gè)包含 100 個(gè)項(xiàng)目的列表,并且只從每個(gè)列表項(xiàng)目中的類中獲取第一個(gè)強(qiáng)標(biāo)簽(有些有 1 個(gè),有些有超過 1 個(gè))。在我試過的代碼中,它獲取所有帶有強(qiáng)標(biāo)簽的項(xiàng)目,而不是總共 100 個(gè)項(xiàng)目,它獲得 128 個(gè)項(xiàng)目。這是我的代碼:for i in range(100):
artist = soup.find_all("strong" , {"class" : "chartItem-artist-artistName"})[i].getText()
print(artist)這是被網(wǎng)絡(luò)抓取的 HTML 代碼: HTML 代碼的屏幕截圖我定位的課程以紅色突出顯示 (chartItem-artist-artistInfo)我試圖拉取的項(xiàng)目以藍(lán)色突出顯示(只有第一個(gè)強(qiáng)標(biāo)簽)我只想獲得“DaBaby”而不是“&”或“Stunna 4 Vegas”
2 回答

慕少森
TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊
嘗試替換:
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貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
<strong>
這將從下面的第一個(gè)元素獲取文本class="chartItem-artist-info"
:
for t in soup.select('.chartItem-artist-info'): artist = t.strong.get_text() print(artist)
添加回答
舉報(bào)
0/150
提交
取消