はじめに
こんにちは、エンジニアのkeitaMaxです。
前回作成したスクレイピングのサンプルをxpathで記述しようと思います。
前回の記事
xpathとは
XPathとは、データを収集する際に要素や属性を指定して、情報を取得するための言語です。
(引用:https://pig-data.jp/blog_news/blog/scraping-crawling/xpath/)
CSSセレクタのようにHTMLなどの要素や属性を指定することで情報を取得することができるもののようです。
前回の記述
下記のようにjQuery のようなセレクタを使用して書いていました。
$subtitle = $response
->filter('main > div:nth-child(2) p:first-of-type')
->text();
これをxpathで書いてみようと思います。
修正結果
修正結果は以下のようになります。
$subtitle = $response
->filterXPath('descendant-or-self::main/div[2]//p[1]')
->text();
実際に実行してみると同じように取得できていることがわかります。
おわりに
どっちも記述のやり方自体は同じような書き心地でした。
この記事での質問や、間違っている、もっといい方法があるといったご意見などありましたらご指摘していただけると幸いです。
最後まで読んでいただきありがとうございました!
参考