【发布时间】:2010-11-02 19:02:21
【问题描述】:
所以我正在慢慢学习 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'
提前致谢。
【问题讨论】:
-
为了它的价值:将变量命名为“first”、“second”等是糟糕的风格。你真的应该更具描述性——当然,具体的名称取决于你,但我可能会使用“urlcontent”、“parser”、“mp_tables”等等。
-
这是我使用 Python 的第三天。我需要这样做以保持头脑清醒。随着时间的推移,情况会变得更好......
-
我更改了变量名。希望那会更好。
标签: python urllib2 beautifulsoup