您可以创建一个字典,将每个团队名称作为关键字,将数据作为列表:
import urllib
from bs4 import BeautifulSoup as soup
import re
data = str(urllib.urlopen('http://www.espn.com/nba/stats/rpi').read())
team_data = [re.split('\n', i.text) for i in soup(data, 'lxml').find_all('tr', {'class':re.compile('oddrow team\-\d+\-\d+')})]
final_team_data = {a[1]:a[2:] for a in team_data}
输出:
{u'Toronto': [u'.552', u'41', u'16', u'.719', u'.497', u'0', u'6376', u'5892', u'45-12', u'.786', u''], u'Phoenix': [u'.449', u'18', u'41', u'.305', u'.498', u'0', u'6129', u'6657', u'12-47', u'.204', u''], u'LA Lakers': [u'.477', u'23', u'34', u'.404', u'.502', u'0', u'6114', u'6282', u'22-35', u'.390', u''], u'Dallas': [u'.461', u'18', u'40', u'.310', u'.511', u'0', u'5920', u'6058', u'24-34', u'.406', u''], u'Miami': [u'.505', u'30', u'28', u'.517', u'.501', u'0', u'5830', u'5882', u'27-31', u'.463', u''], u'Washington': [u'.509', u'33', u'24', u'.579', u'.486', u'0', u'6123', u'6015', u'33-24', u'.573', u''], u'Philadelphia': [u'.528', u'30', u'25', u'.545', u'.522', u'0', u'5912', u'5803', u'32-23', u'.576', u''], u'Denver': [u'.511', u'32', u'26', u'.552', u'.497', u'0', u'6256', u'6196', u'31-27', u'.540', u''], u'Minnesota': [u'.524', u'36', u'25', u'.590', u'.502', u'0', u'6694', u'6515', u'37-24', u'.610', u''], u'Brooklyn': [u'.456', u'19', u'40', u'.322', u'.500', u'0', u'6217', u'6468', u'20-39', u'.342', u''], u'New York': [u'.470', u'23', u'36', u'.390', u'.496', u'0', u'6116', u'6260', u'24-35', u'.405', u''], u'Detroit': [u'.500', u'28', u'29', u'.491', u'.503', u'0', u'5893', u'5899', u'28-29', u'.496', u''], u'Oklahoma City': [u'.512', u'33', u'26', u'.559', u'.496', u'0', u'6289', u'6088', u'37-22', u'.631', u''], u'Golden State': [u'.569', u'44', u'14', u'.759', u'.506', u'0', u'6719', u'6249', u'45-13', u'.768', u''], u'San Antonio': [u'.515', u'35', u'24', u'.593', u'.489', u'0', u'5993', u'5811', u'37-22', u'.625', u'']}