Python爬虫之遇到Index out of range解决办法

Python爬取网站遇到Index out of range问题

问题展示

报错信息

Traceback (most recent call last):
  File "D:/spiderNew.py", line 127, in <module>
    term = tmp[0].split('成交周期')[1].split('天')
IndexError: list index out of range

相关代码

before_price = tmp[0].split("挂牌")[1].split("万")[0]  
term = tmp[0].split('成交周期')[1].split('天')	#此行为127行
tmpDay = article.xpath('div[5]/span[2]')[0]
tmpDay = tmpDay.xpath('span[2]/text()')[0]
term = tmpDay.split("成交周期")[1].split('天')[0]

这是爬取某壳上面的二手房成交信息,但是在不加判断条件的时候,在此处总是报错,然后我检查网站源码对应的地方。发现此html标签在当前待解析项中不存在。

解决方法

所以加了判断条件如下:

if '挂牌' in tmp[0]:
    before_price = tmp[0].split("挂牌")[1].split("万")[0]  
    if '成交周期' in tmp[0]:
        term = tmp[0].split('成交周期')[1].split('天')
    tmpDay = article.xpath('div[5]/span[2]')[0]
    if len(tmpDay) > 1:
        tmpDay = tmpDay.xpath('span[2]/text()')[0]
        if '成交周期' in tmpDay:
            term = tmpDay.split("成交周期")[1].split('天')[0]   #成交周期

然后就能正确解析出相应内容,并且不会因报错导致数据爬取不全的问题。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值