Home  >  Q&A  >  body text

python - xpath解析使用extract()的时候,几种情况有点分不清楚

xpath解析使用extract()的时候,几种情况有点分不清楚,如下截图所示:

什么时候用哪种?

黄舟黄舟2631 days ago844

reply all(2)I'll reply

  • PHP中文网

    PHP中文网2017-04-17 18:02:29

    1. 返回一个SelectorList 对象 http://scrapy-chs.readthedocs.io/zh_CN/0.24/topics/selectors.html#selectorlist

      SelectorList 类是内建 list 类的子类,提供了一些额外的方法:
      xpath(query)
      css(query)
      extract()
      re()
      __nonzero__()
    2. 返回一个list(就是系统自带的那个) 里面是一些你提取的内容

    3. 返回2中list的第一个元素(如果list为空抛出异常)

    4. 返回1中SelectorList里的第一个元素(如果list为空抛出异常),和3达成的效果一致

    5. 4返回的是一个str(如果Python2为unicode应该), 所以5会返回str的第一个字符

    reply
    0
  • 迷茫

    迷茫2017-04-17 18:02:29

    最好用第一种,extract后会把selector对象转换成list类型了,不建议直接用extract()[0]这样的,因为有时候会报list索引错误

    reply
    0
  • Cancelreply