python - 尝试“一切”后如何修复 IndexError
问题描述
我的 Python 网络爬虫收集了大量数据,然后突然停止并出现 IndexError。我尝试了不同的页面和设置,但它们在随机位置停止。
(部分)我的代码如下
numListings = int(re.findall(r'\d+', numListingsRaw)[0])
numPages = math.ceil(numListings / 100)
print(numPages)
for numb in range(1, numPages):
pageSoup = make_soup("https://url" + str(numb) + "&pmax=5000&srt=df-a")
containers = pageSoup.findAll("li", {"class":"occasion popup_click_event
aec_popup_click"})
for container in containers:
ID = container.a["data-id"]
titel = container["data-vrnt"].replace(",", "|")
URL = container.a["href"]
merk = container["data-mrk"]
soort = container["data-mdl"]
prijs = container.find("div", {"class":"occ_price"}).text.strip()
## Bouwjaar en km
bouwjaarKM = container.span.text.strip().split(", ")
bouwjaarRaw = bouwjaarKM[0].split(": ")
bouwjaar = bouwjaarRaw[1]
km_int = int(''.join(filter(str.isdigit, bouwjaarKM[1])))
km = str(km_int)
rest = container.find("div", {"class":"occ_extrainfo"}).text.strip()
rest_split = rest.split(", ")
brandstof = rest_split[0]
inhoud = rest_split[1]
vermogen = rest_split[2]
transmissie = rest_split[3]
carroserie = rest_split[4]
kleur = rest_split[5]
这是确切的错误消息:
"Traceback (most recent call last):
File "Webscraper_multi2.py", line 62, in <module>
inhoud = rest_split[1]
IndexError: list index out of range"
我知道它与 for 循环有关,但我无法理解它。
非常感谢您的帮助。提前致谢,
汤姆
解决方案
打印 的值rest_split
。您会发现它是一个长度小于 2 的列表,因为这是列表具有索引 1 所需要的。
推荐阅读
- node.js - 如何从电子邮件更改我们想要的内容而不是 clientID 使用 nodejs 创建邮件
- c# - 获取组的 Sharepoint 站点并使用 Graph 上传文件
- azure-pipelines - AzurePipelines:管道的同一运行中“pipeline.startTime”的不同值
- arrays - 在groovy中对对象数组进行排序
- jquery - 使用 Kendo,如何通过单击按钮从多个 SharePoint 列表中删除 1 个项目?已经有 1 个工作,如何添加第二个 SharePoint 列表?
- java - 如何从 LinkedHashMap 中获取具有“最佳”值的键
- reactjs - 如何将两个onClick参数传递给反应中的一个函数
- google-apps-script - 查找具有 SKU 编号的产品并从库存中添加或减去
- html - Materialise 1.0 复选框未按预期呈现
- linux - 可以在终端中执行命令,但不能从文本文件中执行