如何遍历返回“TypeError:'NoneType' 类型的参数不可迭代”的列表

问题描述

我正在一个项目中生成一堆列表。在代码中的这个特定的代码中,我在尝试从它生成的列表中提取文本时一直遇到错误。与 BeautifulSoup 结合使用,下面的代码生成 YouTube 页面中所有标题的列表。它是列表格式。我可以打印列表并查看它。但是,当我尝试遍历此列表并使用在出现错误之前使用的相同列表理解来挑选文本时:

place_to
fn_location_get

但是在迭代列表时出现错误

data = []
for label in soup.find_all('a'):
    data.append(label.get('aria-label'))

如何在不出错的情况下遍历此列表?

解决方法

您需要检查执行 label.get('aria-label') 时返回的内容是否为非空值。

data = []
for label in soup.find_all('a'):
    val = label.get('aria-label')
    if val is not None:
        data.append(val)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...