beautifulsoup возврат данных, как никто, что включает в себя тег


У меня есть таблица данных, как это:

<table class="tablesorter" id="dea">
<thead>
<tr>
<th class="header ">Name</th>
<th class="header">City</th>
<th class="">Address</th>
<th class="">Phone Nos</th>
<th class="">Email</th>
<th class="">Fax</th>
</tr>
</thead>
<tbody>

<tr class="info">
<td style="font:bold 12px Tahoma; color:#1f2c48;">Audi California</td>
<td>&nbsp;California&nbsp;</td>
<td align="left">
A?85, bay Area, Phase 1, <br>
California<br>
California
- 6554655
</td>
<td align="right">
<br>4747744747<br>108388383
</td>
<td align="center">
info<!-- >@_ -->@<!-- >@_ -->audiCal<!-- >@_ -->.<!-- >@_ -->net
</td>
<td align="right">
&nbsp;
</td>
</tr></tbody>
</table>

Я использую beautifulsoup для разбора этого, но теперь я попал в проблему при извлечении данных из последних четырех <td>. Всякий раз, когда я читаю их значения, используя свойство .string, я получаю None Как значение. Я думаю, это потому, что у них есть теги <br>. Мне нужны последние четыре <td> данные, у которых есть адрес, телефон нет., email_id и факс. Вместо .string что я должен использовать, чтобы получить все эти данные?

2 5

2 ответа:

Вы можете использовать .text для получения текста.

Правка:

Другим вариантом может быть получение каждого элемента с помощью .contents и объединение их по мере необходимости.

Если у вас есть дескриптор элемента td, Вы можете использовать:

 td.findAll(text=True) 

Для получения списка текстовых подэлементов тега td. Тогда вы можете join Этот список на ,