我想通過這樣的網頁解析和收集只首發的名字:美麗的湯戰略拆分數據
http://espn.go.com/nba/boxscore?gameId=400827888
我的劇本抓起頁面上所有的名字,但我不能區分時,在底部(在這種情況下,亞特蘭大)的球隊首發球員開始,頂部球隊(在這種情況下,底特律)的替補球員結束。真正的問題是,頂級球隊的名單上可能會有11-15名球員,所以我不能按照我的理解分割一個數字。如上所述,這給了我活塞的前10個名字 - 而不是前五名活塞隊,老鷹隊的前5名。我想到的一個策略依賴於標識,但考慮到它們在HTML中編碼的方式,這似乎非常棘手。
def parse_boxscore(url):
"""Gathers names of starters from both teams, stores in list"""
soup = make_soup(url)
starters = [td for td in soup.findAll("td", "name")]
return starters[0:5], starters[6:11]
任何人都可以想到一致的策略嗎?我不太懂技術,所以爲了簡單起見,我會犧牲相對效率(我知道,我知道)...
順便說一句,你只需要'首發= soup.findAll( 「TD」, 「姓名」)' –
你需要找到表格的html元素,然後*爲每個表格*,建立一個玩家列表。正如所寫,你直接搜索*任何*表 –
感謝您的這個建議! – BSHuniversity