始める無料で始める

XPath のチェーン

SelectorSelectorList オブジェクトでは、xpath メソッドを使うときにチェーンができます。つまり、すでに xpath を適用した結果に対して、さらに xpath を続けて適用できるということです。たとえば、selSelector の名前だとすると、

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スクレイピング

コースを見る

演習の手順

  • 次の選択と同じ結果になるように、2 つの xpath 呼び出しをチェーンする空所を埋めてください。
sel.xpath('//div/span/p[3]')

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Chain together xpath methods to select desired p element
sel.xpath( '//div' ).xpath( ____ )
コードを編集して実行