매우 다양한 HTML 구조를 사용하여 사이트를 긁어 내려고했습니다. 해당 정보는 캡슐화되지 않았습니다. 유일한 표식은 대상 ID가 TARGETID 인 범위입니다.Xpath : 노드 옆에있는 노드 찾기
구조는 다음과 같습니다
<h2>
<span class="TARGETID">TARGETID</span>
</h2>
<p> <!-- this is not always present, could be more p tags --> </p>
<ul> <!-- also not always present, if there, this is what we want --> </ul>
<h2>
<span class="SOMEIRRELEVANTID">IRRELEVANT</span>
</h2>
내 접근했다 :
정렬되지 않은 목록은 TARGETID 후있을 때 성공하지만 그렇지 않은 경우가 발견 한 다음 정렬되지 않은 목록 (소요//h2/span[contains(text(), 'TARGETID')]/../following-sibling::ul[1][count(li) > 1][li]//a/text()
이는 쿼리를 기반으로합니다).
내 질문은 : 대상 ID가있는 범위를 포함하고 다른 ID의 범위를 사용하여 다음 H2에 의해 제한되는 것으로 시작하는 두 H2의 노드로 쿼리를 제한하려면 어떻게해야합니까?
힌트를 주시면 감사하겠습니다.
예. 예제 6의 다음 'h2'가 쿼리의 리미터 역할을합니다. h2가 존재하지 않으면'ul'을 더 이상 추출하지 못하게해야합니다. – leandermelms