scrapy运行问题:IndexError: list index out of range


正文:


错误类型分析:

IndexError: list index out of range
  • 情况一:
    list[index]中的index下标超出范围了,所以出现了访问越界;
  • 情况二:
    list本身就是一个空的,没有一个元素,所以当访问到list[0]的时候,就会出现该错误。

错误实例分析:

  • 错误语句:
 Item['job_maxpayment'] = 
 str(round(int(re.split('\-', Item['job_maxpayment'])[1])/12, 2)*10000)#最高月薪
  • 错误原因:
    • 我的错误属于错误类型中的情况二,当我在输出打印的时候返现什么都没有得到,所以是list本身就是空的。
  • 解决方法:
    • 情况一:
      index下标越界,那么意思就是list本身没有那么多元素,所以我们在确定index的时候就要用len函数来进行判断一下,确定index的范围,这样就不会出现情况一了。
    • 情况二:
      list本身为空,那么我们在调用list之前,就应该先判断与一下list是否为空,可以用输出打印来进行判断,或者写一个异常处理,这样就不会让程序直接kill掉,然后再在前面想办法,让我们获取的list不为空。

PS:可以参考一下ChinaUnix里面的相关回答:python脚本报错IndexError: list index out of range

你可能感兴趣的:(Python,scrapy)