Я пытаюсь получить данные ODI по ссылке http://www.espncricinfo.com/australia/content/player/325026.html. Я хочу добавить заголовок и ниже, чтобы добавить столбцы.Мой код:
def parse(self, response):
#extracting the entire class
batting=response.xpath('//*[@class="engineTable"]').extract()[0]
#extracting batting scores
#using selector
y=str("#")+batting+str("#")
sel=Selector(text=y)
#extracting column headings
header=sel.xpath('//thead/tr/th/text()').extract()
#values
data= sel.xpath('//tbody/tr/td[contains(@title, "record rank: 2")]/following-sibling::td/text()').extract()
col=[]
i=0
for head in header:
i+=1
#creating an empty list with the
#values appended
col.append((head,[]))
i=0
for j in range(len(data)):
#T is the j th row
T=data[j]
for dat in T:
i+=1
#appending to empty list
col[i][1].append(dat)
#creating dict
Dict={title:column for (title,column) in col}
df=pd.DataFrame(Dict)
print (df)
Я получаю сообщение об ошибке:
Traceback (most recent call last):
File "E:\anaconda\lib\site-packages\twisted\internet\defer.py", line 654, in _runCallbacks
current.result = callback(current.result, *args, **kw)File "C:\Users\DUDE\Desktop\odi_data\odi_data\spiders\odi.py", line 41, in parse. col[i][1].append(dat)
IndexError: индекс списка вне диапазона
Не могувыяснить, что не так в коде.Любая помощь приветствуется.Спасибо