Belirli bilgileri html belgesinden çıkarmak istiyorum. Örneğin.Tablo içeriğini html'den python ve BeautifulSoup ile ayıklama
<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>
Ben tarihinden gibi bilgiler ayıklamak istiyorum: böyle (diğer içeriklerle diğer tablolar arasında) bir tablo içeriyor "Tarihi:". Görünüşe göre, BeautifulSoup4 , bunu kolayca yapabilirdi, ama bir şekilde onu doğru şekilde yönetemiyorum. Benim bugüne kadar kod:
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
Bu bana ilk tablo satırının içeriğini alır ve ayrıca bir içindekiler listesi. Ama sonraki kardeşler doğru çalışmıyor, sanırım yanlış kullanıyordum. Tabi ki sadece içerikleri ayırabilirdim, ama bana öyle geliyor ki güzel çorba tam olarak bunu yapmamızı engellemek için tasarlandı (kendimi ayrıştırmaya başlarsam, tüm dokümanı iyi bir şekilde yapabilirim). Eğer birisi bunu nasıl tamamlayacağımı aydınlattıysa, ben ben de şahane olurdum. Daha iyi bir yol varsa o zaman BeautifulSoup, bu konuda duymak istiyorum.