请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

extract报错

这里如果用extract会报错index out of range,我有个地方不明白。url的content一定有,为什么还会报错呢?以及extract()[0]和extract_first(“”)有什么区别呢?
图片描述

正在回答 回答被采纳积分+3

1回答

bobby 2020-03-15 15:05:58

extract()[0]和extract_first(“”)课程中我讲解过的, 上面的哪个如果没有数据会抛出异常, 如果报了这个错一定是xpath没有提取到数据,你可以吧html打印出来仔细对比一下有没有数据

0 回复 有任何疑惑可以回复我~
  • extract()方法提取的是一个列表对象,extract()[0]利用切片方法提取列表里的第一个元素,如果extract()提取的列表为空的话会报错。
    
    extract_first("")是直接提取extract()提取的列表对象的第一个元素,如果列表为空的话不会报错,而是返回一个默认值,如“”,也就是extract_first("")括号里的部分。
    
    有点像于正则库re的findall和find的关系?bobby老师,可以这么理解嘛?
    回复 有任何疑惑可以回复我~ 2020-03-24 18:47:03
  • bobby 回复 芥子啊 #2
    正解!
    回复 有任何疑惑可以回复我~ 2020-03-26 09:45:12
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号