python2.7版本用bs几_python-2.7 – 使用BS4解析HTML表

我一直在尝试从这个站点(

http://nflcombineresults.com/nflcombinedata.php?year=1999&pos=WR&college=)抓取数据的不同方法,似乎无法让它们中的任何一个工作.我试过玩指数,但似乎无法使它工作.我想我此刻已经尝试了太多东西,所以如果有人能指出我正确的方向,我会非常感激.

我想提取所有信息并将其导出到.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行,名称= col [1] .string

IndexError:列表索引超出范围.

–UPDATE–

好的,我已经取得了一些进展.它现在允许我从头到尾,但它需要知道表中有多少行.我怎么能直到最后才通过它们?

更新的代码:

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值