2011-08-25 15 views
5

utilizo este código para obtener acceso a mi enlace:href Hermosa sopa

links = soup.find("span", { "class" : "hsmall" }) 
links.findNextSiblings('a') 
for link in links: 
    print link['href'] 
    print link.string 

Enlace tiene ninguna identificación o clase o lo que sea, es sólo un enlace clásico con un atributo href.

La respuesta de mi guión es:

print link['href'] 
TypeError: string indices must be integers 

¿Me pueden ayudar a obtener el valor href? ¡Thx!

Respuesta

3

bien, funciona ahora con el código siguiente:

linkSpan = soup.find("span", { "class" : "hsmall" }) 
link = [tag.attrMap['href'] for tag in linkSpan.findAll('a', {'href': True})] 
for lien in link: 
    print "LINK = " + lien` 
8

Links aún se está refiriendo a su soup.find. Por lo que podría hacer algo como:

links = soup.find("span", { "class" : "hsmall" }).findNextSiblings('a') 
for link in links: 
    print link['href'] 
    print link.string 
+0

Hola Chris, gracias por su respuesta. He intentado con su código: esta vez no tengo ningún error, pero siempre no hay ningún valor para href. No entiendo por qué. Lo intentaré de otra manera, creo ... – Koolen

+0

Está bien, ahora funciona con otro código. – Koolen

+0

@Koolen ¿te importaría publicarnos tu nuevo código? :) Además, si la respuesta de Chris resolvió tu problema (al menos hasta cierto punto) sería bueno para ti [marcarlo como la respuesta correcta] (http://meta.stackexchange.com/questions/5234/how-does -accepting-a-answer-work). – brandizzi