Estoy tratando de extraer el contenido de un solo atributo "valor" en una etiqueta específica "de entrada" en una página web. Yo uso el siguiente código:La extracción de un valor de atributo con BeautifulSoup
import urllib
f = urllib.urlopen("http://58.68.130.147")
s = f.read()
f.close()
from BeautifulSoup import BeautifulStoneSoup
soup = BeautifulStoneSoup(s)
inputTag = soup.findAll(attrs={"name" : "stainfo"})
output = inputTag['value']
print str(output)
consigo un TypeError: Lista de los índices deben ser enteros, no str
a pesar de la documentación BeautifulSoup entiendo que las cadenas no deben ser un problema, pero aquí ... No soy especialista y puedo haber entendido mal.
¡Cualquier sugerencia es muy apreciada! Gracias de antemano.
Buen material! Gracias. ahora tengo una pregunta sobre el análisis del resultado que es un largo grupo de caracteres no ASCII, pero lo haré en otra pregunta. – Barnabe
no debería accederse al 'valor' según http://stackoverflow.com/questions/2616659/extracting-value-in-beautifulsoup. ¿Qué hace que el código anterior funcione en este caso? Pensé que tendrías que acceder al valor haciendo 'output = inputTag [0].contenidos' – Seth
@Seth - no, porque está buscando input-tag's attrib 'value', y .contents devuelve el texto encapsulado por la etiqueta ( I am .contents) - (solo respondiendo ahora porque tuve que duplicar verifique lo que sucedía, imagine que alguien más puede beneficiarse) –