Dlatego uczę się Pythona powoli i staram się wykonać prostą funkcję, która będzie czerpać dane ze strony wyników w grze online. To jest czyjś kod, który przepisałem na jedną funkcję (co może być problemem), ale dostaję ten błąd. Oto kod:Dlaczego otrzymuję "" ResultSet "nie ma atrybutu" findAll "" przy użyciu BeautifulSoup w Pythonie?
>>> 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'
Z góry dziękuję.
na co warto: nazywania zmiennych „pierwszy”, „drugi”, itd. jest fatalny styl. Naprawdę powinieneś być bardziej opisowy - nazwy oczywiście zależą od ciebie, ale mogę użyć "urlcontent", "parser", "mp_tables" i tak dalej. –
To mój trzeci dzień z Pythonem. Muszę to zrobić, żeby utrzymać to prosto w mojej głowie. Z biegiem czasu będzie coraz lepiej ... – Alex
Zmieniłem nazwy zmiennych. Miej nadzieję, że to jest lepsze. – Alex