В print() всё работает отлично, но при записи в список - ошибка выхода за пределы списка

for i in range(1, 101):
    #try:
        print(i)
        url = 'https://www.coingecko.com' + tree.xpath(f'/html/body/div[3]/div[4]/div[7]/div[1]/div/table/tbody/tr[{i}]/td[3]/div/div[2]/a[1]/@href')[0]
        print('https://www.coingecko.com' + tree.xpath(f'/html/body/div[3]/div[4]/div[7]/div[1]/div/table/tbody/tr[{i}]/td[3]/div/div[2]/a[1]/@href')[0])
        full_page = requests.get(url, headers=headers)
        html = full_page.text
        with io.open('coinmarketcap_html.txt', 'w', encoding='utf-8') as fff:
            fff.write(html)
        local = Request(url, headers={'User-Agent': 'Mozilla/5.0'})
        response = urlopen(local)

        htmlparser = etree.HTMLParser()
        tree = etree.parse(response, htmlparser)
        links = []
        try:
            for v in range(10):
                links.append(tree.xpath(
                            f'/html/body/div[4]/div[7]/div/div[2]/div[1]/div/div[1]/div[1]/div[3]/div/div[1]/div/div/div[1]/table/tbody[2]/tr[{v}]/td[2]/div/a')[
                                         0].text)
                #print(tree.xpath(f'/html/body/div[4]/div[7]/div/div[2]/div[1]/div/div[1]/div[1]/div[3]/div/div[1]/div/div/div[1]/table/tbody[2]/tr[{v}]/td[2]/div/a')[0].text)
        except Exception as e:
            print(e)

Почему-то, когда я оставляю только цикл и url с print, всё отлично работает и парсится, но стоит мне подключить остальной код? где происходит сам парсинг в список, возникает ошибка :

File "C:\Users\andre\PycharmProjects\learn\data\main.py", line 182, in plus
    url = 'https://www.coingecko.com' + tree.xpath(f'/html/body/div[3]/div[4]/div[7]/div[1]/div/table/tbody/tr[{i}]/td[3]/div/div[2]/a[1]/@href')[0]
IndexError: list index out of range

В чем может быть проблема?


Ответы (0 шт):