Я использую beautifulsoup4
для очистки данных с сайта lyrics.com, в частности, по этой ссылке: https://www.lyrics.com/album/1447935.
Из этого блока я пытаюсь извлечь оба элемента <a>
:
[<table class="tdata">
<colgroup>
<col style="width: 50px;"/>
<col style="width: 430px;"/>
<col style="width: 80px;"/>
<col style="width: 80px;"/>
</colgroup>
<thead>
<tr>
<th>#</th>
<th>Song</th>
<th>Duration</th>
<th> </th>
</tr>
</thead>
<tbody>
<tr>
<td class="tal qx">1</td>
<td class="tal qx">
<strong>
<a href="/lyric/15183453/Make+You+Feel+My+Love">Make You Feel My Love</a>
</strong>
</td>
<td class="tal qx">3:32</td>
<td class="tal vam rt">
</td></tr><tr><td class="tal qx">2</td>
<td class="tal qx">
<strong>
<a href="/lyric/15183454/Painting+Pictures">Painting Pictures</a>
</strong>
</td>
<td class="tal qx">3:33</td>
<td class="tal vam rt"> </td>
</tr>
</tbody>
</table>]
Это мой код:
url = "http://www.lyrics.com" + album_url
page = r.get(url)
soup = bs(page.content, "html.parser")
songs = [a.get('href') for a in (table.find('a') for table in soup.findAll('table')) if a]
Однако возвращается только первый <a>
:
['/lyric/15183453/Make+You+Feel+My+Love']
Что может быть не так?
Редактировать: Спасибо всем за ответы!Я проголосовал, но мне не хватает представителя, чтобы показать