xpath获取列表

xpath
如果要获取列表中详情内容,比如我们这里用ul,li代替

  • 内容1
  • 内容2
sels_list = sel.xpath('//ul/li')
for sel in sels_list:
    #错误写法:text = sel.xpath('//span/text()').extract()[0]
    #正确写法
    text = sel.xpath('.//span/text()').extract()[0]
    print(text)
    

"."选取当前节点,xpath不加点就会从根开始查询。
因为我们这里是要解析每个li标签里面的内容,如果要直接使用sels_list中的每个sel,xpath语法中前面要加一个点"."
否则的话,获取到的内容依然是整个页面中的第一个span,而不会获取每个li中的span

你可能感兴趣的:(xpath获取列表)