XPath 連鎖(Chaining)
使用 xpath 方法時,Selector 和 SelectorList 物件允許進行「連鎖」。也就是說,你可以在已經呼叫過一次 xpath 之後,再次套用 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 網頁爬蟲
練習說明
- 請在下方填空,將兩個
xpath呼叫連鎖起來,其結果需與下列選擇相同:
sel.xpath('//div/span/p[3]')
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Chain together xpath methods to select desired p element
sel.xpath( '//div' ).xpath( ____ )