Python常见错误:IndexError: list index out of range解决
作者:无?羡? 发布时间:2021-02-17 21:53:10
标签:indexerror,python,错误
报错代码
粉丝群里面的一个小伙伴想用requests爬虫,然后遍历Xpath定位的数据列表的时候,发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错代码如下:
import requests
from lxml import etree
text = requests.get("https://www.baidu.com").content.decode()
html = etree.HTML(text)
div_divst = html.xpath("//div")
for div in div_divst:
title = div.xpath("@title")[0]
url = div.xpath("@url")[0]
报错信息如下:
IndexError: list index out of range
报错翻译
报错信息翻译:
索引错误:列表索引超出范围
报错原因
list index out of range错误出现的原因主要有两个:
一个可能是下标超出范围
一个可能是list是空的,没有一个元素
粉丝的爬虫代码中明显是因为Xpath没有定位到数据,所以list为空,list[0]就会报错。小伙伴们按下面的方法解决即可!!!
解决方法
用异常捕获Xpath定位,当报错的时候捕获异常并把title和url赋值为None:
import requests
from lxml import etree
text = requests.get("https://www.baidu.com").content.decode()
html = etree.HTML(text)
div_divst = html.xpath("//div")
for div in div_divst:
try:
title = div.xpath("@title")[0]
url = div.xpath("@url")[0]
except:
title = None
url = None
帮忙解决
来源:https://blog.csdn.net/yuan2019035055/article/details/126342734
0
投稿
猜你喜欢
- 继续我们的 Javascript 优化计划,上期已经做到怎么尽可能的缩小 Javascript 脚本的文件体积便于传输。不过这样做仅仅是不够
- 思路利用scapy库,在这个库的基础下能够做很多的事情,python读取pcap包网上一找一大把将读取出来的pcap包改一个名字,然后写回,
- 题目描述:(1)模拟登陆界面,判别用户名和密码,给出合适的提示,如果超过三次,锁定输入。用代替密码;或者最新输入显示,前面的变成;安全性措施
- 最近,W3C的一项公告称,在W3C与XHTML2的合同于今年年底到期后将不会续签。这意味着W3C停止了对XHTML2的开发,转而大力支持HT
- 本文实例讲述了Python决策树之基于信息增益的特征选择。分享给大家供大家参考,具体如下:基于信息增益的特征选取是一种广泛使用在决策树(de
- Javascript中的eval函数让我们可以很方便地操作一系列变量(a1,a2,a3,……)。自从VBScript 5.0之后,我们也可以
- 从事API相关的工作很有挑战性,在高峰期保持系统的稳定及健壮性就是其中之一,这也是我们在Mailgun做很多压力测试的原因。这么久以来,我们
- 在 JavaScript 中,可以用 instanceof 来判断一个对象是不是某个类或其子类的实例。比如:// 代码
- 几乎所有的微薄都提供了缩短网址的服务,其原理就是将一个url地址按照一定的算法生成一段字符串,然后加在一个短域名后面边成了一个新的url地址
- 环境配置新建python虚拟环境并激活conda create -n pyqt python=3.8conda activate py36安
- 看到标题就知道有逗比忘了密码。。。没错就是我。你也忘了密码? 不要着急!0x00:第一步:运行django shellpython3 man
- 本文为大家分享了Python实现全排列的打印的代码,供大家参考,具体如下问题:输入一个数字:3,打印它的全排列组合:123 132 213
- 本文实例讲述了PHP实现根据数组某个键值大小进行排序的方法。分享给大家供大家参考,具体如下:问题:针对给定数组的某个键的键值进行排序解决方法
- 概述os.access() 方法使用当前的uid/gid尝试访问路径。大部分操作使用有效的 uid/gid, 因此运行环境可以在 suid/
- 实例如下:#! /usr/bin/python# -*- coding: utf-8 -*-import osdef del_dir_tre
- Hough圆变换的原理很多博客都已经说得非常清楚了,但是手动实现的比较少,所以本文直接贴上手动实现的代码。这里使用的图片是一堆硬币:&nbs
- 作用域链(Scope Chain)JavaScript中的一种重要机制,JS中所有的标识符(Identifier)都是通过Scope Cha
- 在PHP中,有两种包含外部文件的方式,分别是include和require。他们之间有什么不同呢?如果文件不存在或发生了错误,require
- 前言近几日迫于被辅导员三番五次的提醒每日一报打卡,就想着去写个脚本挂在服务器上定时执行。经过我不懈的努力,最终选择了seleniumsele
- xmlhttp,IE不支持overrideMimeType()方法,即使是IE7。 // Mozilla/Safari/