如何修复IndexError:抓取时列表索引超出范围



我一次又一次地收到这个错误:

Traceback (most recent call last):
File ".bing.py", line 31, in <module>
s.write(str(title[i].text) + ',' + link[i].text + ',' + description[i].text[30:70] + 'n')
IndexError: list index out of range

这个错误的含义是什么?为什么我会出现这个错误?

这是我的代码:

for url_p in url_pattren:   
time.sleep(3)   
url1 = 'https://www.bing.com/search?q=site%3alocalbitcoins.com+%27%40gmail.com%27&qs=n&sp=-1&pq=site%3alocalbitcoins+%27%40gmail.com%27&sc=1-31&sk=&cvid=9547A785CF084BAE94D3F00168283D1D&first=' + str(url_p) + '&FORM=PERE3'
driver.get(url1)
time.sleep(r)
title = driver.find_elements_by_tag_name('h2')
link = driver.find_elements_by_css_selector("cite")
description = driver.find_elements_by_css_selector("p")
items = len(title)
with open('btc_gmail.csv','a',encoding="utf-8") as s:
for i in range(items):
s.write(str(title[i].text) + ',' + link[i].text + ',' + description[i].text[30:70] + 'n')

谢谢!

有解决方案吗?

您说的长度如下。

标题:12链接:10描述:10

链接和描述的长度相等,但标题不同。你在标题上循环,标题中的元素比链接和描述都多。

范围(12(将导致[0,1,2,3,4,5,6,7,8,9,10,11],因此当它试图访问链路[10]时,它将引发

IndexError:列出超出范围的索引

由于链接只有10个元素,索引从0开始,因此访问link[10]将导致上述异常。

希望这对你有所帮助。

相关内容

  • 没有找到相关文章

最新更新