python3 nonetypefind_Python错误:“NoneType”对象没有“find\u all”属性

在尝试从ESPN网站抓取棒球数据并写入CSV时,遇到一个错误:'NoneType'对象没有'find_all'属性。问题出在BeautifulSoup解析HTML后找不到'table'元素。代码片段展示了如何迭代表格行并处理数据。错误发生在尝试对'table'对象调用'find_all()'方法时。
摘要由CSDN通过智能技术生成

我正在改编一个来自http://danielfrg.com/blog/2013/04/01/nba-scraping-data/#disqus_thread的网页抓取程序,将ESPN中的棒球数据抓取到CSV中。但是,当我运行第二段代码来编写csv游戏时,我从下面的代码部分得到的“NoneType”对象没有“find_all”属性错误for index, row in teams.iterrows():

_team, url = row['team'], row['url']

r = requests.get(BASE_URL.format(row['prefix_1'], year, row['prefix_2']))

table = BeautifulSoup(r.text).table

for row in table.find_all("tr")[1:]: # Remove header

columns = row.find_all('td')

try:

_home = True if columns[1].li.text == 'vs' else False

_other_team = columns[1].find_all('a')[1].text

_score = columns[2].a.text.split(' ')[0].split('-')

_won = True if columns[2].span.text == 'W' else False

match_id.append(columns[2].a['href'].split('?id=')[1])

home_team.append(_team if _home else _other_team)

visit_team.append(_team if not _home else _other_team)

d = datetime.strptime(columns[0].text, '%a, %b %d')

dates.append(date(year, d.month, d.day))

我可以发布整个程序,但这是编译器读取错误的代码。

完整的错误文本是Traceback (most recent call last):

File "C:\Python27\Project Files\Game Parser.py", line 23, in

for row in table.find_all("tr")[1:]: # Remove header

AttributeError: 'NoneType' object has no attribute 'find_all'

任何关于如何运行此代码的帮助都将非常感谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值