AttributeError Traceback (most recent call last) <ipython-input-3-3a9954822f37> in <module> 16 for book in soup.find_all('div', class_='book'): 17 # 获取书籍名称 ---> 18 book_name = book.find('h2', class_='book-name').text.strip() 19 20 # 创建以书名命名的文件夹 AttributeError: 'NoneType' object has no attribute 'text'报错如何解决
时间: 2023-12-06 13:45:33 浏览: 249
Attribute-Based Ring Signcryption Scheme and Its Application in Wireless Body Area Networks
这个错误是因为在执行 `book.find('h2', class_='book-name')` 操作时,返回了 `None`,而 `None` 对象没有 `text` 属性,所以会抛出 `AttributeError` 异常。
你可以先检查 `book.find('h2', class_='book-name')` 是否返回了 `None` 对象,如果是的话,就跳过这个书籍,或者输出一个错误信息。
例如,你可以这样修改代码:
```python
for book in soup.find_all('div', class_='book'):
# 获取书籍名称
book_name_element = book.find('h2', class_='book-name')
if book_name_element is None:
print('无法获取书籍名称,跳过该书籍')
continue
book_name = book_name_element.text.strip()
# 创建以书名命名的文件夹
...
```
这样就可以避免抛出 `AttributeError` 异常了。
阅读全文