Sto cercando di estrarre il contenuto di un singolo attributo "valore" in uno specifico tag "input" su una pagina web. Io uso il seguente codice:Estrazione di un valore di attributo 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)
ottengo un TypeError: lista indici devono essere interi, non str
anche se dalla documentazione BeautifulSoup ho capito che le stringhe non dovrebbe essere un problema, ma qui ... nessuno specialista e io potrei aver frainteso.
Qualsiasi suggerimento è molto apprezzato! Grazie in anticipo.
Great stuff! Grazie. ora ho una domanda sull'analisi dell'output che ho un lungo gruppo di caratteri non ASCII, ma lo chiederò in una domanda separata. – Barnabe
non si dovrebbe accedere al 'valore' come http://stackoverflow.com/questions/2616659/extracting-value-in-beautifulsoup. Cosa fa funzionare il codice sopra in questo caso? Pensavo che avresti dovuto accedere al valore facendo 'output = inputTag [0].contents' – Seth
@Seth - no, perché sta cercando l'attributo 'value' di input-tag, e .contents restituisce il testo incapsulato dal tag ( I am .contents) - (solo rispondendo ora perché ho dovuto raddoppiare controllare cosa stava succedendo, capire qualcun altro potrebbe beneficiare) –