使用BeautifulSoup迭代整个表格?

时间:2015-11-27 03:08:36

标签: python beautifulsoup

尝试清除此site上列出的玩家的所有玩家姓名和幻想信息。我可以找到绝对正常的表,但是当我尝试迭代整个表时,麻烦就开始了。这是我到目前为止编写的代码:

Adrian Peterson MIN, 5
Le'Veon Bell PIT, 11

预期输出:

Adrian Peterson MIN, 5 
Adrian Peterson MIN, 5 
Adrian Peterson MIN, 5 
对于图表上的其他玩家来说等等等等。

实际输出

for

以及超过400次迭代。

我的{{1}}循环在哪里出错了?

1 个答案:

答案 0 :(得分:1)

您需要在特定表格的上下文中进行搜索:

for row in table:
    print(row.find('td').find_next('td'))

尽管如此,我会以不同的方式解决问题。所需的表格有id

table = soup.find('table', id="data")
for row in table.find_all("tr")[1:]:  # skipping header row
    cells = row.find_all("td")
    print(cells[0].text, cells[1].find('a').text)

打印:

(u'1', u'Adrian Peterson')
(u'2', u"Le'Veon Bell")
(u'3', u'Eddie Lacy')
(u'4', u'Jamaal Charles')
(u'5', u'Marshawn Lynch')
...