我一直在尝试从这个网站(http://nflcombineresults.com/nflcombinedata.php?year=1999&pos=WR&college=)中抓取数据的不同方法,但似乎没有一个能够正常工作。我已经尝试过使用给定的索引,但无法使其正常工作。我认为我已经尝试了太多的方法,所以如果有人能指点我正确的方向,我将非常感激。
我想提取所有信息并将其导出到.csv文件中,但此时我只是想打印名称和位置以开始工作。
以下是我的代码:
这是我得到的错误: 第14行,name = col[1].string IndexError: list index out of range.
--更新-- 好的,我取得了一点进展。现在它允许我从头到尾执行,但需要知道表格中有多少行。如何使其只遍历到结束? 更新代码:
我想提取所有信息并将其导出到.csv文件中,但此时我只是想打印名称和位置以开始工作。
以下是我的代码:
import urllib2
from bs4 import BeautifulSoup
import re
url = ('http://nflcombineresults.com/nflcombinedata.php?year=1999&pos=&college=')
page = urllib2.urlopen(url).read()
soup = BeautifulSoup(page)
table = soup.find('table')
for row in table.findAll('tr')[0:]:
col = row.findAll('tr')
name = col[1].string
position = col[3].string
player = (name, position)
print "|".join(player)
这是我得到的错误: 第14行,name = col[1].string IndexError: list index out of range.
--更新-- 好的,我取得了一点进展。现在它允许我从头到尾执行,但需要知道表格中有多少行。如何使其只遍历到结束? 更新代码:
import urllib2
from bs4 import BeautifulSoup
import re
url = ('http://nflcombineresults.com/nflcombinedata.php?year=1999&pos=&college=')
page = urllib2.urlopen(url).read()
soup = BeautifulSoup(page)
table = soup.find('table')
for row in table.findAll('tr')[1:250]:
col = row.findAll('td')
name = col[1].getText()
position = col[3].getText()
player = (name, position)
print "|".join(player)