错误现场
python在写爬虫的时候,出现如下错误:
IndexError: list index out of range
原因:爬虫在做xpath时候匹配到空值如图:
导致爬去数据的时候出错如下图:
解决办法:
采用python三目运算过滤空值情况,三目运算规则:
为真时的结果 if 判断条件 else 为假时的结果(注意,没有冒号)
例如:
x = x+1 if x%2==1 else x #当x为奇数的时候x就加一,否则 就x
接下来
解决上述爬虫问题:
报错位置
item['positionType'] = r[0]
修改为
r = each.xpath('./td[2]/text()').extract()
item['positionType'] = r[0] if r else None
至此问题解决!