Beautiful soup - Attribut ausgeben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
kritz
User
Beiträge: 13
Registriert: Montag 2. April 2007, 15:26

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.
BlackJack

Auf Attribute kann man so zugreifen:

Code: Alles auswählen

firma['alt']
Antworten