m0_66671929 2022-02-24 22:49 采纳率: 0%
浏览 107
已结题

爬虫部分返回空值报错如何解决?

问题遇到的现象和发生背景

下面是2个产品的价格

img

问题相关代码,请勿粘贴截图
            final_price = li.xpath('.//span[@class="price"]/text()')[0]
            pre_price = li.xpath('.//span[@class="price-rrp__price"]/text()')[0]
            if len(pre_price)==0:
                print("list is  empty")
            else:
                pre_price = li.xpath('.//span[@class="price-rrp__price"]/text()')[0]
            print(final_price, pre_price)

运行结果及报错内容

17,98 € 29,99 €
完成
44,00 € 54,99 €
完成
160,08 € 194,99 €
完成
Traceback (most recent call last):
File "C:\Users\86134\PycharmProjects\pythonProject\use_kuaidaili.py", line 56, in
pre_price = li.xpath('.//span[@class="price-rrp__price"]/text()')[0]
IndexError: list index out of range

我的解答思路和尝试过的方法

返回有些结果是空值,但是出现报错。是不是用try else?谢谢

我想要达到的结果
  • 写回答

1条回答 默认 最新

  • m0_66671929 2022-02-26 15:55
    关注

    直接检查返回结果不用去列表某个值。后面结果分别才进行赋值。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月4日
  • 修改了问题 2月25日
  • 创建了问题 2月24日

悬赏问题

  • ¥15 odoo17的分包重新供应路线如何设置?可从销售订单中实时直接触发采购订单或相关单据
  • ¥15 用C语言怎么判断字符串的输入是否符合设定?
  • ¥15 通信专业本科生论文选这两个哪个方向好研究呀
  • ¥50 我在一个购物网站的排队系统排队,这个排队到号后重新定向到目标网站进行购物,但是有技术牛通过技术方法直接跳过排队系统进入目标网址购物,有没有什么软件或者脚本可以用
  • ¥15 ios可以实现ymodem-1k协议 1024字节传输吗?
  • ¥300 寻抓云闪付tn组成网页付款链接
  • ¥15 请问Ubuntu要怎么安装chrome呀?
  • ¥15 视频编码 十六进制问题
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 uniapp实现如下图的图表功能