J'ai une structure de table imbriquée. J'utilise le code ci-dessous pour analyser les données.
for row in table.find_all("tr")[1:][:-1]:
for td in row.find_all("td")[1:]:
dataset = td.get_text()
Le problème est qu'il y a des tables imbriquées, comme dans mon cas, il y a des tables à l'intérieur d'une table. <td></td>
afin que ceux-ci soient analysés à nouveau après l'analyse initiale, car j'utilise find_all(tr)
y find_all(td)
. Comment puis-je éviter d'analyser le tableau imbriqué, car il est déjà analysé ?
Entrée :
<table>
<tr>
<td>1</td><td>2</td>
</tr>
<tr>
<td>3</td><td>4</td>
</tr>
<tr>
<td>5
<table><tr><td>11</td><td>22</td></tr></table>
6
</td>
</tr>
</table>
Résultats attendus :
1 2
3 4
5
11 22
6
Mais ce que je reçois est :
1 2
3 4
5
11 22
11 22
6
C'est-à-dire que la table interne est analysée à nouveau.
Specs :
beautifulsoup4==4.6.3
L'ordre des données doit être préservé et le contenu peut être n'importe quoi, y compris n'importe quel caractère alphanumérique.