Seite 1 von 1

Beautiful soup - Attribut ausgeben

Verfasst: Montag 16. April 2007, 18:54
von kritz
hallo

Zuerst mal mein Code

Code: Alles auswählen

table = soup.find(attrs={'class' : "ta1neu"})#tabelle mit der klasse "ta1neu" suchen


gruen = table.findNext(attrs={'bgcolor' : "#d0ffd0"}) # nach Attribut bgcolor suchen
tr_nodegr = gruen.findParent('tr') # uebergeordneten tr suchen
preisgruen = tr_nodegr.td.contents[0] # aus der ersten Spalte den Preis auslesen
print 'Preis gruen: '+ preisgruen + '<br>'

a = tr_nodegr('td')[1] # in naechste spalte wechseln 
firma = a.img # den tag img abspreichern.
im tag "img" gibt es das attribute "alt" welches einen bestimmten Wert hat. wie kann ich diesen Wert auslesen???

der html-code ist folgendermaßen:

Code: Alles auswählen

<TR class=tr1><TH CLASS=lh1 rowspan=2><a style="text-decoration:none" title="Bitte beachten Sie die Hinweise zur Preisdarstellung am Ende der Seite" href="#preishinw">Preis in €<sup>*</sup></a></TH><TH CLASS=lh1 rowspan=2>    Anbieter    </TH><th class=lh1 rowspan=2>Händler-<br>Bewertung</th><th class=lh1 width=160>Verfügbarkeit</th><TH CLASS=lh1 rowspan=2>Artikelbezeichnung des Händlers</TH></tr><tr class=tr1><th class=lh1 width="150"><a href="#versandhinw" style="text-decoration: none; color: black;" title="Versandkosten sind, sofern nicht anders angegeben, Inlandsversandkosten">Versand<sup>*</sup></a></th></TR>
<tr class=t1 height=30 valign=top>
  <td rowspan=2 class=s align=right>554,--<p align=right><img src="/mastercard_t.gif" width=20 height=12 alt="MasterCard / EuroCard"> <img src="/visa_t.gif" width=20 height=12 alt="VISA"></td>

  <td rowspan=2 class=s align=center><a target=_blank href="/redir.cgi?h=t-online-shop-at&loc=http:%2F%2Fwww.t%2Donline%2Dshop.at%2Ftonline%2Fproduct.do%3Faction%3DgetProductDetail%26ref%3Dgeizhalsat%26product%3D25115"><img src="/b/logos/t-online-shop-at_90x30.jpg"  width=90 height=30 alt="T-Online Shop AT - Click!" border=0 hspace=3 vspace=1 align=absmiddle></a><br><small>[<a target=_blank href="/redir.cgi?h=t-online-shop-at&loc=http:%2F%2Fwww.t%2Donline%2Dshop.at%2Ftonline%2Fproduct.do%3Faction%3DgetProductDetail%26ref%3Dgeizhalsat%26product%3D25115"><b>zum Shop</b></a>]</small><br clear=all><br>Hinweis: Firmensitz in Deutschland<p><center><small><p><div align=right><nobr><a href="./?qlink=T-Online%20Shop%20AT&subi=infos">Infos</a> <a href="/redir.cgi?h=t-online-shop-at&loc=http%3A%2F%2Fwww.t-online-shop.at%2Ftonline%2Fagb.do" target=_blank>AGB</a> <a href="http://forum.geizhals.at/search.jsp?k=&author=&topic=%22%7Et%5B%20-%5D%2Aonline%20shop%20at%22&area=1&maxAge=0">Meinungen</a></nobr></div></td>
  <td rowspan=2 class=s align=center><p><a href="./?sb=936"><img border=0 valign=absmiddle vspace=2 src=http://geizhals.at/b/2.gif alt="Note: 2,04" title="Note: 2,04"></a><br><small>Note: 2,04</small><p class=x><small><a href="./?sb=936">173</a> Bewertungen</small><p></td>

  <td class=s width=150 bgcolor="#d0ffd0">sofort lieferbar</td>
  <td rowspan=2 class=s width="75%">Samsung LE-<wbr>32R32B<br>Samsung LE-32 R 32 B Schwarz - LCD-TV, HDready<p>(14.04.2007, 08:13)</td>
</tr>
Das auszulesende Attribut hat in diesem Fall den Wert "T-Online Shop AT - Click!"

Das ist sicher keine elegante Lösung, aber anders komm ich nicht hin.

Verfasst: Montag 16. April 2007, 20:43
von BlackJack
Auf Attribute kann man so zugreifen:

Code: Alles auswählen

firma['alt']