Quindi sto imparando lentamente Python e sto cercando di creare una semplice funzione che tracci i dati dalla pagina dei punteggi più alti di un gioco online. Questo è il codice di qualcun altro che ho riscritto in una funzione (che potrebbe essere il problema), ma sto ricevendo questo errore. Ecco il codice:Perché sto ricevendo "'ResultSet' non ha attributo 'findAll'" che utilizza BeautifulSoup in Python?
>>> from urllib2 import urlopen
>>> from BeautifulSoup import BeautifulSoup
>>> def create(el):
source = urlopen(el).read()
soup = BeautifulSoup(source)
get_table = soup.find('table', {'id':'mini_player'})
get_rows = get_table.findAll('tr')
text = ''.join(get_rows.findAll(text=True))
data = text.strip()
return data
>>> create('http://hiscore.runescape.com/hiscorepersonal.ws?user1=bigdrizzle13')
Traceback (most recent call last):
File "<pyshell#18>", line 1, in <module>
create('http://hiscore.runescape.com/hiscorepersonal.ws?user1=bigdrizzle13')
File "<pyshell#17>", line 6, in create
text = ''.join(get_rows.findAll(text=True))
AttributeError: 'ResultSet' object has no attribute 'findAll'
Grazie in anticipo.
Per quello che vale: denominare le variabili "prima", "seconda", ecc. è uno stile terribile. Dovresti davvero essere più descrittivo - i nomi specifici dipendono da te, ovviamente, ma potrei usare "urlcontent", "parser", "mp_tables" e così via. –
È il mio terzo giorno con Python. Ho bisogno di farlo per tenerlo dritto nella mia testa. Questo andrà meglio col passare del tempo ... – Alex
Ho cambiato i nomi delle variabili. Spero che sia meglio. – Alex