'ResultSet' 对象没有属性 'find_all'
'ResultSet' object has no attribute 'find_all'
我在下面有一个函数可以解析来自 Yahoo Finance 的数据,然后写入一个 cvs 文件。 data_scrapper
return 提供 symbol
的普通 html。
我收到一个错误:
Exception Value: 'ResultSet' object has no attribute 'find_all'
Exception Location: ./finance_parser/views.py in button_clicked, line 76
第76行参考这一行:headers = [header.text for header in table.find_all('th')]
def button_clicked(request):
rows = []
current_url = request.META['HTTP_REFERER']
symbol = current_url[-4:-1].replace('%20', ' ')
gen_table = data_scrapper(symbol)
soup = BeautifulSoup(gen_table)
table = soup.findAll('table')
headers = [header.text for header in table.find_all('th')]
for row in table.findAll('tr'):
rows.append([val.text for val in row.findAll('td')])
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename= "{}.csv"'.format(symbol)
writer = csv.writer(response)
writer.writerow(headers)
writer.writerows(row for row in rows if row)
return response
table = soup.findAll('table') # Here is set of tables
您需要遍历表 (ResultSet)
headers = []
for table in soup.findAll('table'):
headers.extend([header.text for header in table.find_all('th')])
我在下面有一个函数可以解析来自 Yahoo Finance 的数据,然后写入一个 cvs 文件。 data_scrapper
return 提供 symbol
的普通 html。
我收到一个错误:
Exception Value: 'ResultSet' object has no attribute 'find_all'
Exception Location: ./finance_parser/views.py in button_clicked, line 76
第76行参考这一行:headers = [header.text for header in table.find_all('th')]
def button_clicked(request):
rows = []
current_url = request.META['HTTP_REFERER']
symbol = current_url[-4:-1].replace('%20', ' ')
gen_table = data_scrapper(symbol)
soup = BeautifulSoup(gen_table)
table = soup.findAll('table')
headers = [header.text for header in table.find_all('th')]
for row in table.findAll('tr'):
rows.append([val.text for val in row.findAll('td')])
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename= "{}.csv"'.format(symbol)
writer = csv.writer(response)
writer.writerow(headers)
writer.writerows(row for row in rows if row)
return response
table = soup.findAll('table') # Here is set of tables
您需要遍历表 (ResultSet)
headers = []
for table in soup.findAll('table'):
headers.extend([header.text for header in table.find_all('th')])