python列表中的索引器索引超出范围

2024-07-04 13:53:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个代码,但我得到索引器:列表索引超出范围。我真的不明白为什么。for循环应该从第二个[1]td开始,通过所有tds。那么为什么指数超出了范围呢?你知道吗

import bs4 as bs
import pickle
import requests
import lxml

def save_OMX30_tickers():
   resp = requests.get('https://www.avanza.se/aktier/lista.html')
   soup = bs.BeautifulSoup(resp.text, 'lxml')
   table = soup.find('table', {'class': 'u-standardTable'})
   tickers = []
   for row in table.findAll('tr')[0:]:
       ticker = row.findAll('td')[1].text
       tickers.append(ticker)

   with open('OMX30tickers.pickle', 'wb') as f:
       pickle.dump(tickers, f)

   print(tickers)

   return tickers

save_OMX30_tickers()

Tags: textimportforbssaveastablerequests
1条回答
网友
1楼 · 发布于 2024-07-04 13:53:33

有时你的row.findAll('td')是空的,试试这个会有帮助的,我建议你添加rsplit()删除所有\n

for row in table.findAll('tr')[0:]:
    if not row.findAll('td'):                                                                                                                                                 
        continue
    ticker = row.findAll('td')[1].text
    tickers.append(ticker.rsplit())

相关问题 更多 >

    热门问题