喂,伙计们,有人能帮我做这个吗?我想刮一张桌子--这会让我出错
忽略on_ready跟踪(最近一次调用)中的异常:文件on_ready第343行,在_run_event中等待coro(*args,**kwargs)文件“C:/User/lacha/Desktop/gagarin/test.py”,第64行,在on_ready for I in range(1,len(‘tr’))中: AttributeError:'NoneType‘对象没有属性'find_all’
f = soup.find('table', {"class": "symbol-table svelte-1q7g1fn"})
for i in range(1, len(f.find_all('tr'))):
try:
a = f.find_all('tr')[i]
dat = a.find_all('td')[0]
symb = a.find_all('td')[1]
name = a.find_all('td')[2]
exc = a.find_all('td')[3]
price = a.find_all('td')[4]
share = a.find_all('td')[5]
print(f'{dat.text} {symb.text} {name.text}')发布于 2022-09-12 05:23:45
您得到了错误,因为如果f = soup.find('table',...没有为给定的类找到任何元素,它将返回None。因此,您必须添加一个if语句来检查f的值是否为None。
f = soup.find('table', {"class": "symbol-table svelte-1q7g1fn"})
if f is not None:
for i in range(1, len(f.find_all('tr'))):
try:
a = f.find_all('tr')[i]
dat = a.find_all('td')[0]
symb = a.find_all('td')[1]
name = a.find_all('td')[2]
exc = a.find_all('td')[3]
price = a.find_all('td')[4]
share = a.find_all('td')[5]
print(f'{dat.text} {symb.text} {name.text}')
except TypeError:
pass
else:
print("Soup not find the element for the given class")https://stackoverflow.com/questions/73684723
复制相似问题