python - AttributeError: ResultSet 对象没有属性 'find_all' - Web 抓取 - Beautiful Soup
问题描述
我正在从 Wikipedia 页面上抓取一个表格,它显示错误:属性错误。这是我的代码:
right_table=soup.find_all('table',class_="nowraplinks collapsible autocollapse navbox-inner")
print(right_table)
print(type(right_table)) <class 'bs4.element.resultset'>
我想迭代每一行,但它显示错误
for row in right_table.find_all('tr'):
print(row)
错误是:
AttributeError:ResultSet 对象没有属性“find_all”。您可能将项目列表视为单个项目。当您打算调用 find() 时,您是否调用了 find_all()?
解决方案
欢迎使用 stackoverflow 和 BeautifulSoup。
find_all 的结果将是一个列表。您不能再次应用 find_all() ,因为它将用于列表。
你必须做类似的事情(如果你只有一张桌子),
right_table=soup.find('table',class_="nowraplinks collapsible autocollapse navbox-inner")
for row in right_table.find_all('tr'):
print(row)
或者,如果您有多个表,则需要添加另一个 for 循环,例如,
right_table=soup.find('table',class_="nowraplinks collapsible autocollapse navbox-inner")
for table in right_table:
for row in table.find_all('tr'):
print(row)
希望这可以帮助!干杯!
推荐阅读
- ios - 如何使用 Timer 在 UITableView 内自动滚动 UICollectionView?
- java - 为了清楚起见,如何将 MainActivity 功能拆分为另一个类?
- scikit-learn - 在 GaussianMixture 中获取分量后验概率
- python - 更改 AxisArtist 上的刻度数
- java - 如何模拟带注释的类?
- bash - 使用 bash 进行单元测试:使 bash 函数调用未选中,同时让父函数在函数出错后继续?
- python - 使用函数切换帧
- c# - 尝试访问 DataGrid 单元内的 StackPanel
- ios - 是否可以在不使用崩溃报告工具、AppStore 等的情况下在 iOS 设备本身中获取崩溃日志
- c# - 使用 Blazor 读取服务器端文件