XPath 链式调用
在使用 xpath 方法时,Selector 和 SelectorList 对象支持"链式调用"。也就是说,您可以在已经调用过一次 xpath 之后继续对结果再调用一次。例如,如果 sel 是我们的 Selector,那么
sel.xpath('/html/body/div[2]')
等价于
sel.xpath('/html').xpath('./body/div[2]')
或者等价于
sel.xpath('/html').xpath('./body').xpath('./div[2]')
唯一需要注意的是,您需要在后续的 XPath 字符串开头使用句点,将各个 XPath 片段"粘"在一起(请注意示例中我们在 XPath 字符串前添加的句点)。
本练习是课程的一部分
Python Web 爬取
练习说明
- 请在下面补全代码,将两个
xpath调用链式连接,使其选择结果与以下代码相同:
sel.xpath('//div/span/p[3]')
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Chain together xpath methods to select desired p element
sel.xpath( '//div' ).xpath( ____ )