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

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

clipboard.png

什么时候用哪种?

阅读 27.2k
2 个回答
  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的第一个字符

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏