Преобразование объекта BeautifulSoup в список для извлечения данных

Из следующих двух строк кода Python я получаю следующий вывод html, который принадлежит классу 'bs4.BeautifulSoup'

site_link = soup.find_all('a', string='Aberdeen')[0]
row = site_link.findParent('td').findParent('tr').findAll('td')

 <html><body><p>[</p><td><a href="../networks/site-info?site_id=ABD">Aberdeen</a><br/>
<a class="smalltext" href="https://uk-air.defra.gov.uk/assets/graphs/ABD_weekly_m.png">Timeseries Graph</a></td>,
 <td class="center"><span class="bg_low2 bold">48 (2 Low)</span></td>,
 <td class="center"><span class="bg_low1 bold">4 (1 Low)</span></td>,
 <td class="center"><span title="Not Measured">n/m</span></td>,
 <td class="center"><span class="bg_low1 bold">2 (1 Low)</span></td>,
 <td class="center"><span class="bg_low1 bold">6 (1 Low)
 </span>
</td>,
 <td>19/08/2017<br/>17:00:00</td>]</body></html>

Как я могу превратить его в список, с помощью которого я могу извлечь элементы, например, где мой список называется mylist:

>>>print(mylist[1].text)
48 (2 Low)

1 ответ

Решение

Ты ищешь tag.find_all:

mylist = soup.find_all('span', class_='bg_low2 bold')

Сейчас, mylist содержит все ваши span теги, и вы можете получить доступ к span данные с mylist[i].text,

Другие вопросы по тегам