xpath
如果要获取列表中详情内容,比如我们这里用ul,li代替
<ul>
<li>
<div><span>内容1</span></div>
</li>
<li>
<div><span>内容2</span></div>
</li>
</ul>
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
网友评论