【无标题】

python爬虫(十六) -IndexError: list index out of range

在用lxml和xpath对一个网站进行解析,在解析的时候出现错误-IndexError: list index out of range

原因是在中这个网站的html代码中有的标识为空,只要加上try.....except 错误机制跳过空值就行了

例如:

html=etree.HTML(text)
ul=html.xpath("//ul[@class='lists']")[0]
lis = ul.xpath("//li")
for li in lis:
 title=li.xpath("@data-title")[0]
    score=li.xpath("@data-score")[0]
    duration=li.xpath("@data-duration")[0]
    region=li.xpath("@data-region")[0]
    director=li.xpath("@data-director")[0]
    actors=li.xpath("@data-actors")[0]
    thumbnail=li.xpath(".//img/@src")[0]
    movie={
        'title':title,
        'score':score,
        'duration':duration,
        'region':region,
        'director':director,
        'actors':actors,
        'thumbnail':thumbnail
    }

    print(movie)

这个代码在运行之后就会出现错误:IndexError: list index out of range

修改之后的代码:

html=etree.HTML(text)
ul=html.xpath("//ul[@class='lists']")[0]
lis = ul.xpath("//li")


for li in lis:
 try:
    title=li.xpath("@data-title")[0]
    score=li.xpath("@data-score")[0]
    duration=li.xpath("@data-duration")[0]
    region=li.xpath("@data-region")[0]
    director=li.xpath("@data-director")[0]
    actors=li.xpath("@data-actors")[0]
    thumbnail=li.xpath(".//img/@src")[0]
    movie={
        'title':title,
        'score':score,
        'duration':duration,
        'region':region,
        'director':director,
        'actors':actors,
        'thumbnail':thumbnail
    }

    print(movie)
 except IndexError:
    pass

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值