Когда я запускаю следующий код, я получаю сообщение списка индекса вне диапазона:
import requests
from lxml.html import fromstring
def get_values():
print('executing get_values...')
url = 'https://sports.yahoo.com/nba/stats/weekly/?sortStatId=POINTS_PER_GAME&selectedTable=0'
response = requests.get(url)
parser = fromstring(response.text)
for i in parser.xpath('//tbody/tr')[:100]:
**FGM = i.xpath('.//td[4]/span/text()')[0] #This runs with no error even though its has similar xpath.**
print('FGM: ' + FGM)
G = i.xpath('.//td[2]/span/text()')[0]
print(G)
values = get_values()
Когда я запускаю код, я получаю следующее сообщение об ошибке:
G=i.xpath('/./td[2]/span/text()')[0]
IndexError: list index out of range
Я попытался отладить, используя следующие операторы.
print(parser.xpath('//tbody/tr/td[2]/span/text()')) #Returns list['4', '4', '3', '3', '3', '4', '4', '3', '2', '4', '3']
print(parser.xpath('//tbody/tr/td[2]/span/text()')[0]) #Returns value = 4
print(len(parser.xpath('//tbody/tr/td[2]/span/text()')[0])) # Returns value = 1
Выходные данные показывают ожидаемые значения, поэтому я не уверен, почему это не работает. Любая помощь будет оценена!