J'ai utilisé BeautifulSoup par le passé, mais je suis confronté à quelque chose de nouveau; Incroyablement générique/minimal de tableau HTML ... Mon but est de saisir chaque valeur et c'est étiquette (chacun dans son propre td) et les imprimer ... Ils peuvent être fusionnés, je m'en fous, je veux juste faire Assurez-vous que chaque étiquette est appliquée à la bonne valeur. Voici un exemple de table:Analyse de tables HTML avec BeautifulSoup
<tbody><tr>
<td class="labels">Dawn:</td>
<td class="site_data" style="text-align: left;">07:01</td>
<td class="labels">Sunrise:</td>
<td class="site_data" style="text-align: left;">07:26</td>
<td class="labels">Moonrise:</td>
<td class="site_data" style="text-align: left;">14:29</td>
<td rowspan="3"><img src="images/moon.bmp" alt="Moon" width="64" align="left" border="0" height="64" style="margin: 0px 10px" /></td>
</tr>
<tr>
<td class="labels">Dusk:</td>
<td class="site_data" style="text-align: left;">18:27</td>
<td class="labels">Sunset: </td>
<td class="site_data" style="text-align: left;">18:02</td>
<td class="labels">Moonset:</td>
<td class="site_data" style="text-align: left;">01:55</td>
</tr>
<tr>
<td class="labels">Daylight:</td>
<td class="site_data" style="text-align: left;">11:26</td>
<td class="labels">Day length:</td>
<td class="site_data" style="text-align: left;">10:36</td>
<td class="labels">Moon Phase:</td>
<td class="site_data" style="text-align: left;">Waxing Gibbous</td>
</tr>
</tbody>
Je sais comment saisir ces valeurs ...
for td in soup.findAll('table')[0]: # theres more than one table on the page
print td.renderContents().strip()
mais cela ne me donne ....
'Dawn:'
'07:01'
'Sunrise:'
'07:26'
'Moonrise:'
'14:29'
'<img src="images/moon.bmp" alt="Moon" width="64" align="left" border="0" height="64" style="margin: 0px 10px" />'
'Dusk:'
'18:27'
'Sunset: '
'18:02'
'Moonset:'
'01:55'
'Daylight:'
'11:26'
'Day length:'
'10:36'
'Moon Phase:'
'Waxing Gibbous'
Je suppose que je pouvais saisissez ces valeurs de classe "labels" et "site_data" mais comment puis-je m'assurer que les étiquettes et les données sont correctement regroupées?