Traceback (most recent call last): File "C:\Users\lenovo\PycharmProjects\pythonProject2\main.py", line 7, in <module> teacher_list = soup.find('div', {'id': 'vsb_content'}).find_all('a') AttributeError: 'NoneType' object has no attribute 'find_all'怎么解决
时间: 2023-08-15 18:05:25 浏览: 91
Mac下anaconda中Spyder打开报错Traceback(most recent call last)…问题
5星 · 资源好评率100%
这个错误提示说明 `soup.find('div', {'id': 'vsb_content'})` 返回了 `None`,即没有找到 `id` 为 `vsb_content` 的 `div` 元素。因此在调用 `find_all` 方法时出现了 AttributeError。
这种情况可能是因为目标网站的 HTML 结构有所改变,可以尝试打印 `soup`,查看是否能够找到目标元素。如果无法找到可以考虑修改代码,或者联系网站管理员。
如果确定 HTML 结构没有改变,也可以尝试增加容错处理,例如:
```python
teacher_list = soup.find('div', {'id': 'vsb_content'})
if teacher_list:
teacher_list = teacher_list.find_all('a')
else:
print("未找到师资队伍信息")
```
这样在找不到目标元素时,就会输出提示信息,不会直接报错。
阅读全文