В 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
В чем может быть проблема?