2010-07-31 12 views
1

J'ai donc une page html qui a un formulaire, et une table à l'intérieur du formulaire qui contient des lignes de produits. Je suis arrivé au point où je suis en train de faire défiler les lignes de la table, et dans chaque boucle je prends toutes les cellules de la table.Aide pour obtenir l'image src à partir d'une cellule de tableau en utilisant BeautifulSoup

for tr in t.findAll('tr'): 
    td = tr.findAll('td') 

Maintenant, je veux récupérer l'URL src image du premier td.

Html ressemble:

<tr> 
    <td ...> 
    <a href ... > 
     <img ... src="asdf/asdf.jpg" .. > 
    </a> 
    </td> 

    ... 
</tr> 

Comment dois-je prendre? Je continue à penser en termes de regex.

J'ai essayé:

td[0].a.image.src mais cela ne fonctionne pas comme il le dit pas d'attribut « src ».

Répondre

6

Utilisez

td[0].a.img['src'] 

J'imagine votre utilisation de image pour img dans la question était juste une erreur de transcription, mais le point important est que, dans BeautifulSoup, afin d'accéder à un code HTML de la balise attributs que vous utilisez l'indexation notation (comme le ['src'] dans mon extrait de code ci-dessus), non point-syntaxe - la notation de syntaxe point descend réellement l'arbre à la place (juste comme ci-dessus pour les deux points, un juste avant a et).