python - 使用BeautifulSoup,如何防止元素找不到?

标签 python beautifulsoup

我正在遍历表格中的表格行,但前 1 或 2 行没有我要查找的元素(它们用于表格列标题等)。

所以在说完第 3 个表格行之后,表格单元格 (td) 中的元素具有我正在寻找的内容。

例如

td[0].a.img['src']

但是调用失败,因为前几行没有这个。

How can I guard against these cases so my script doesn't fail?

我收到如下错误:

nonetype object is unsubscriptable

最佳答案

最简单和最清晰的,如果你想让你的代码“在线”:

theimage = td[0].a.img
if theimage is not None:
   use(theimage['src'])

或者,最好将 None 检查包装在您自己的一个小函数中,例如:

def getsrc(image):
  return None if image is None else image['src']

并使用getsrc(td[0].a.img)

关于python - 使用BeautifulSoup,如何防止元素找不到?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3376666/

相关文章:

python - 如何添加到导航pinax(0.9a2)的链接?

python - 使用 BeautifulSoup 查找特定标签

python - 带有鼠标悬停的html网页将数据转换为json

javascript - 无法解析余数 : '[0]' from 'rates[0]' - porting flask app to Django 2

python - 尝试绘制任意 3d 函数的图形时出错

python - 在Python3中,如何使用.append函数将字符串添加到抓取的链接中?

python - 如何在 BeautifulSoup 中使用元素的样式定义(例如填充、字体大小等)来抓取元素

python - 在 BeautifulSoup 中用另一个标签替换一个标签

python - Keras,我训练模型后如何预测?

Python Tkinter 侧笔记本选项卡