[英]How to fix IndexError: list index out of range while scraping
我一次又一次地收到此错误:
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
链接和描述的长度相同,但标题不同。 您正在循环播放包含比链接和描述更多元素的标题。
range(12) 将导致 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] 因此当它尝试访问 Link[10] 时,它将引发
IndexError:列表索引超出范围
由于链接只有 10 个元素并且索引从 0 开始,因此访问 Link[10] 将导致上述异常。
希望这对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.