3 votes

belle soupe pour ne pas analyser les données des tableaux imbriqués

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X