tb_price = tb_soup.find('em', class_='tb-promo-price').get_text()这句话运行时出现错误怎么改
时间: 2024-02-03 07:03:05 浏览: 64
RESTful_Web_Services中文版.pdf----广告
出现错误的原因可能是在通过 `find` 方法搜索 `em` 标签时没有找到指定的 class,或者是在使用 `get_text()` 方法时出现了 NoneType 的情况。你可以尝试以下方法来解决问题:
1. 检查是否正确引入了 `BeautifulSoup` 库,并且正确获取了网页的内容。
2. 检查 `class_` 参数是否正确,或者是否应该使用其他属性进行搜索。
3. 在使用 `get_text()` 方法之前,先检查搜索结果是否为 None,如果是则先进行处理,避免出现 NoneType 错误。
下面是一种可能的解决方法:
```python
tb_price = tb_soup.find('em', attrs={'class': 'tb-promo-price'})
if tb_price is not None:
tb_price = tb_price.get_text()
else:
tb_price = 'Unknown'
```
这里使用了 `attrs` 参数来搜索 `em` 标签,避免了 `class_` 参数无法使用的问题。在获取价格前,先判断搜索结果是否为 None,如果是则将价格设为 `Unknown`,避免了出现 NoneType 错误。
阅读全文