Desidero estrarre determinate informazioni da un documento html. Per esempio. esso contiene una tabella (tra gli altri tavoli con altri contenuti) come questo:Estrazione del contenuto della tabella da html con python e BeautifulSoup
<table class="details">
<tr>
<th>Advisory:</th>
<td>RHBA-2013:0947-1</td>
</tr>
<tr>
<th>Type:</th>
<td>Bug Fix Advisory</td>
</tr>
<tr>
<th>Severity:</th>
<td>N/A</td>
</tr>
<tr>
<th>Issued on:</th>
<td>2013-06-13</td>
</tr>
<tr>
<th>Last updated on:</th>
<td>2013-06-13</td>
</tr>
<tr>
<th valign="top">Affected Products:</th>
<td><a href="#Red Hat Enterprise Linux ELS (v. 4)">Red Hat Enterprise Linux ELS (v. 4)</a></td>
</tr>
</table>
voglio estrarre informazioni come la data di "Emesso il:". Sembra che BeautifulSoup4 possa farlo facilmente, ma in qualche modo non riesco a farlo bene. Il mio codice finora:
from bs4 import BeautifulSoup
soup=BeautifulSoup(unicodestring_containing_the_entire_htlm_doc)
table_tag=soup.table
if table_tag['class'] == ['details']:
print table_tag.tr.th.get_text() + " " + table_tag.tr.td.get_text()
a=table_tag.next_sibling
print unicode(a)
print table_tag.contents
Questo mi ottiene il contenuto della prima riga della tabella, e anche un elenco dei contenuti. Ma la prossima cosa fratello non sta funzionando correttamente, suppongo che stia semplicemente usando male. Ovviamente potrei solo analizzare il contenuto, ma mi sembra che la bella zuppa sia stata progettata per impedirci di fare esattamente questo (se inizio a analizzare me stesso, potrei come analizzare bene l'intero documento ...). Se qualcuno potesse illuminarmi su come realizzare questo, I sarebbe grato. Se c'è un modo migliore di BeautifulSoup, sarei interessato a sentirne parlare.