Próbuję wyodrębnić zawartość pojedynczego atrybutu "value" w konkretnym tagu wejściowym na stronie internetowej. Używam następujący kod:Wyodrębnianie wartości atrybutu za pomocą 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)
otrzymuję TypeError: lista indeksów muszą być liczbami całkowitymi, nie STR
choć z dokumentacji BeautifulSoup Rozumiem, że sznurki nie powinno być problemu, ale tutaj ... nie ma specjalisty i może mnie źle zrozumiałem.
Każda sugestia jest bardzo doceniana! Z góry dzięki.
świetne rzeczy! Dzięki. teraz mam pytanie dotyczące analizowania danych wyjściowych, które zawierają wiele znaków spoza zestawu ASCII, ale zadam to w osobnym pytaniu. – Barnabe
nie powinna mieć dostępu do "wartości", jak na http://stackoverflow.com/questions/2616659/extracting-value-in-beautifulsoup. Co sprawia, że powyższy kod działa w tym przypadku? Myślałem, że będziesz musiał uzyskać dostęp do wartości, wykonując 'output = inputTag [0].content' – Seth
@Seth - nie, ponieważ szuka wartości atrybutu znacznika wejściowego, a .contents zwraca tekst zamknięty przez znacznik ( Jestem .contents) - (tylko odpowiadam teraz, ponieważ musiałem podwoić sprawdź, co się dzieje, wyobraź sobie, że ktoś może skorzystać) –