Beautiful Soup:解决 'ResultSet' 对象缺少 'find_all' 属性
使用 Beautiful Soup 从 HTML 或 XML 检索数据时文档中,您可能会遇到“AttributeError”,并显示消息““ResultSet”对象没有属性‘查找全部’”。当尝试对“ResultSet”对象本身使用“find_all”方法时,通常会出现此错误,这是一种常见的误解。
要理解此问题,区分“ResultSet”对象和单个对象非常重要该集合中的元素。 “结果集”包含相似元素的集合,而每个元素本身就是一个“标签”。在您提供的代码中,“table”变量保存一个“ResultSet”,其中包含网页中的表格元素。
要在代码中检索表格行(“tr”元素),您需要访问使用其索引的“ResultSet”中的各个元素。以下代码将正确检索表格行:
for row in table[0].find_all('tr'): col = table[0].find_all('td') # Get table data columns (within the current row)
这里,'table[0]'专门访问'ResultSet'中的第一个表格元素,即网页上的'table'元素。然后,您可以在此元素上使用“find_all”方法来检索它包含的“tr”元素(表行)。
通过适当访问“ResultSet”中的各个元素,您可以成功使用“ find_all' 方法从 HTML 文档中提取所需的数据。
以上是为什么我的 Beautiful Soup `ResultSet` 对象缺少 `find_all` 属性?的详细内容。更多信息请关注PHP中文网其他相关文章!