为什么我在 Python 中使用 BeautifulSoup 会收到“'ResultSet'没有属性'findAll'”?

2024-01-12

所以我正在慢慢学习Python,并尝试制作一个简单的函数,从在线游戏的高分页面中提取数据。这是我将别人的代码重写为一个函数(这可能是问题),但我收到此错误。这是代码:

>>> from urllib2 import urlopen
>>> from BeautifulSoup import BeautifulSoup
>>> def create(el):
    source = urlopen(el).read()
    soup = BeautifulSoup(source)
    get_table = soup.find('table', {'id':'mini_player'})
    get_rows = get_table.findAll('tr')
    text = ''.join(get_rows.findAll(text=True))
    data = text.strip()
    return data

>>> create('http://hiscore.runescape.com/hiscorepersonal.ws?user1=bigdrizzle13')

Traceback (most recent call last):
  File "<pyshell#18>", line 1, in <module>
    create('http://hiscore.runescape.com/hiscorepersonal.ws?user1=bigdrizzle13')
  File "<pyshell#17>", line 6, in create
    text = ''.join(get_rows.findAll(text=True))
AttributeError: 'ResultSet' object has no attribute 'findAll'

提前致谢。


哇。三联画提供了great answer https://stackoverflow.com/questions/989872/how-do-i-draw-out-specific-data-from-an-opened-url-in-python-using-urllib2/989920#989920相关问题。

我们可以看到,来自BeautifulSoup的源代码 http://code.google.com/p/google-blog-converters-appengine/source/browse/trunk/lib/BeautifulSoup.py, that ResultSet子类list http://docs.python.org/tutorial/datastructures.html#more-on-lists.

在你的例子中,get_rows是 BS 的一个实例ResultSet班级,
自从 BS 以来ResultSet子类list,这意味着get_rows 是一个列表.

get_rows,作为一个实例ResultSet, does not have a findAll实施的方法;因此你的错误。
Triptych 所做的不同之处在于iterate在那张清单上。
Triptych 的方法之所以有效,是因为get_rowslist 是 BS 的 Tag 类的实例;其中有一个findAll method.

因此,要修复您的代码,您可以替换您的最后三行create方法如下:

for row in get_rows:
    text = ''.join(row.findAll(text=True))
    data = text.strip()
    print data

伦纳德·理查森请注意:我绝不打算通过将其称为“BS”来贬低您的工作质量;-)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我在 Python 中使用 BeautifulSoup 会收到“'ResultSet'没有属性'findAll'”? 的相关文章

随机推荐

  • 在 JMeter 中绘制自定义变量的图表

    我有一个简单的 Java Request 采样器 即 AbstractJavaSamplerClient 如何从此采样器生成自定义变量并绘制它们的图表 最好使用开箱即用的图形侦听器 目前我只能轻松绘制采样时间图 将你的 var 放入 JMe
  • 可以画一条弯弯曲曲的线吗?

    如果我想画一条水平线 我会这样做 div div 如果我想画一条垂直线 我会这样做 line width 1px height 100px background color 000 div div 曲线比较棘手 但可以使用border ra
  • 如何创建持久化的AlarmManager

    编辑 根据 CommonsWare 的回答澄清了问题 我们通过 AlarmManager 安排一个警报每 60 秒触发一次 当我们的应用程序被终止时 我们的警报似乎不再执行 有没有办法让这些警报持续存在 即使应用程序被手动或被系统终止 这对
  • 我可以让 HttpWebRequest 包含 Windows 凭据而不等待 401 质询吗?

    我的应用程序与需要身份验证的内部 Web API 进行通信 当我发送请求时 我收到了预期的 401 质询 握手发生 经过身份验证的请求被重新发送 一切都正常进行 但是 我know需要授权 为什么我必须等待挑战 我可以强制请求发送凭据firs
  • 如何为给定字符串输入集合[重复]

    这个问题在这里已经有答案了 可能的重复 如何获得子集所有可能的组合 https stackoverflow com questions 13765699 how can i obtain all the possible combinati
  • 在 PyQt 中使用 pyttsx

    我正在 pyqt 中为我的聊天机器人制作 Gui 但我在这方面的代码中遇到了一些问题 def init self super Window self init self setGeometry 50 50 500 300 self setW
  • 如何在 Python 3.7 中向 multiprocessing.connection.Client(..) 添加超时?

    我正在运行两个Python 程序 程序 A 通过以下方式连接到程序 B多重处理 module Connection code in program A import multiprocessing import multiprocessin
  • 精度和的含义。双类型范围

    首先 请允许我承认我是一名经验丰富的程序员 拥有超过 10 年的编程经验 然而 我在这里问的问题是自从大约十年前我第一次拿起一本关于 C 的书以来一直困扰着我的问题 下面是一本关于Python的书的摘录 解释了Python的浮动类型 浮点数
  • 是否有一个保留插入顺序的 Set 也实现了 List?

    我正在尝试找到一个实现java util List and java util Set同时在Java中 我希望这个类只允许唯一的元素 如Set 并保留它们的顺序 例如List JDK 6 中存在吗 重要的是拥有List
  • PDO 占位符的有效字符

    在带有 PDO 的 PHP 中 我们限制使用哪些字符 我尝试过查看文档和在线但无济于事 我确实找到了一篇文章 其中用户在名称中使用了连字符 这破坏了查询 我正在编写一个动态生成这些名称的函数 并且由于连字符不是 no 所以我想知道是否有替代
  • NSArray 可变性和 arrayByAddingObject

    我以为我对 Objective C 中的对象和可变性有很好的理解 但我注意到一些奇怪的事情NSArray 如果我有以下不起作用 NSArray myArray NSUserDefaults standardUserDefaults arra
  • 使用 start_time 和 end_time 的ice_cube gem 发生单次事件

    这里一定有一些简单的事情被忽略了 我一直在尝试各种方法来创建基本的IceCube日程 https github com seejohnrun ice cube https github com seejohnrun ice cube 总体目
  • 根据日期范围合并数据框

    我有两个 pandas 数据框 一个 df1 三列 StartDate EndDate and ID 和第二个 df2 和日期 我想合并df1 and df2基于 df2 Date 之间df1 StartDate and df2 EndDa
  • 在其他函数参数中调用函数好吗?

    我想这个 public static string abc return abc 最好这样调用这个函数 string call abc Console writeline call 比这个 console writeline abc 有什么
  • TensorFlow 2.5.0 与 NumPy 1.21+ 不兼容? (2021-10-05)

    对于所有偶然发现这一点的人 我最近正在做图像分类 将 CNN 拟合到一些标记数据上 我想使用 keras 的模块进行数据增强 但是 我遇到了 NotImplementedError 更具体地说 它逐字地说如下 NotImplementedE
  • 使用存储库和实体框架在领域事件中实现实体持久化?

    我正在深入研究领域事件 并且需要一些关于出于历史原因对实体进行持久更新的建议 我的示例涉及用户实体和登录 public class UserService private UserRepository repository public U
  • 重构布尔表达式的工具[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个重构布尔表达式的工具 我有这样的表达 a1 gt b1 lt gt c or d AND
  • 即使应用程序退出后,如何使用 UIAutomation 工具继续测试 iOS 应用程序?

    我有一个应用程序 应用程序中有一个按钮 如果单击该按钮 则会退出应用程序 我正在使用 UIAutomation 仪器测试该应用程序 我想测试一下这个按钮 但应用程序退出后 仪器不再抛出异常 我想做的是 在应用程序存在后 我想重新打开应用程序
  • 如何建议在 Python 中使用自定义双下划线变量?

    我想知道 是否建议 Pythonic 在 Python 脚本中定义和使用自定义双下划线变量 函数 例如 tablename 如 SQLAlchemy 中使用的或 validateitem 在应用之前验证项目的自定义函数 setitem to
  • 为什么我在 Python 中使用 BeautifulSoup 会收到“'ResultSet'没有属性'findAll'”?

    所以我正在慢慢学习Python 并尝试制作一个简单的函数 从在线游戏的高分页面中提取数据 这是我将别人的代码重写为一个函数 这可能是问题 但我收到此错误 这是代码 gt gt gt from urllib2 import urlopen g