Así que estoy aprendiendo Python lentamente, y estoy tratando de hacer una función simple que dibuje datos de la página de puntajes más altos de un juego en línea. Este es el código de otra persona que reescribí en una función (que podría ser el problema), pero estoy obteniendo este error. Aquí está el código:¿Por qué estoy obteniendo "'ResultSet' no tiene ningún atributo 'findAll'" usando BeautifulSoup en 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'
Gracias de antemano.
Por lo que vale la pena: nombrar sus variables "primero", "segundo", etc. es un estilo terrible. Deberías ser más descriptivo, los nombres específicos dependen de ti, por supuesto, pero podría usar "urlcontent", "parser", "mp_tables", y así sucesivamente. –
Es mi tercer día con Python. Necesito hacer eso para mantenerlo directo en mi cabeza. Eso mejorará con el tiempo ... – Alex
Cambié los nombres de las variables. Espero que sea mejor. – Alex