import requests from bs4 import BeautifulSoup url = 'https://xueqiu.com/S/SH600887' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'} cookies = { 'Cookie': '92653cab19163fc842ad5747ac2c2cdee44c935e'} response = requests.get(url, headers=headers, cookies=cookies) soup = BeautifulSoup(response.text, 'html.parser') # 获取股价 price = soup.find('div', {'class': 'stock-current'}).text print('实时股价:', price) # 获取成交量 volume = soup.find('span', {'class': 'volume'}).text print('成交量:', volume) 执行以上代码报以下错误volume = soup.find('span', {'class': 'volume'}).text AttributeError: 'NoneType' object has no attribute 'text' 请根据报错修改代码
时间: 2023-09-20 14:07:19 浏览: 122
这个错误是因为 BeautifulSoup 没有找到对应的元素,导致返回值为 None,因此不能调用 .text 方法。你需要先判断返回值是否为 None,再调用 .text 方法。修改后的代码如下:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://xueqiu.com/S/SH600887'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'
}
cookies = {
'Cookie': '92653cab19163fc842ad5747ac2c2cdee44c935e'
}
response = requests.get(url, headers=headers, cookies=cookies)
soup = BeautifulSoup(response.text, 'html.parser')
# 获取股价
price = soup.find('div', {'class': 'stock-current'}).text
print('实时股价:', price)
# 获取成交量
volume = soup.find('span', {'class': 'volume'})
if volume is not None:
volume = volume.text
else:
volume = '无法获取成交量'
print('成交量:', volume)
```
阅读全文