外部 Web サイトの HTML を整理しようとしていますが、残念ながら、サイトの構成が非常に不十分です。データは次のようになります。
<a class="title">Title One</a>
<a class="item">Item One</a>
<a class="item">Item Two</a>
<a class="title">Title Two</a>
<a class="item">Item One</a>
<a class="item">Item Two</a>
そして、タイトルに対して次のような xpath クエリを使用しています。
$titles = $x->evaluate('//a[@class="title"]');
ここで、タイトルとその下の項目を一覧表示したいと思います。残念ながら、これらの要素はいずれも親 div に便利にラップされていないため、親のすべてを単純にフィルター処理することはできません。したがって、アイテムに対して次のようなクエリを使用します。
$titles = $x->evaluate('//a[@class="item"]');
理想的には、私がやりたいことは、現在のタイトル要素の下の結果のみをチェックすることです。したがって、ループして「タイトル 1」を押した場合、タイトル 1 とタイトル 2 の間に表示される「アイテム」の結果のみを確認したいと考えています。これを行う方法はありますか?
HTML を変更することは、ここではオプションではありません。この質問は少しばかげており、私の説明はひどいものかもしれませんが、解決策があれば本当に助かります!
みんな、ありがとう。