Python을 사용하여 웹 사이트(https://startpagina.nl)에서 모든 xpath의 계층 트리를 얻으려고 시도하는 동안 먼저 다음을 사용하여 분기의 xpath를 얻으려고 했습니다. /html/body
:
@Prophet의 답변을 바탕으로 웹사이트의 모든 요소 목록이 생성됩니다. 그러나 나는 이러한 요소의 xpath를 얻는 방법이나 트리 구조로 정렬하는 방법을 찾지 못했습니다.
대신 및 /html/body/div[6]
옵션은 길이가 1인 트리를 생성합니다.
@Micheal Kay의 답변을 바탕으로 다음 Python 코드를 사용하여 "xml 탐색"을 시도했습니다.
으아아아그러나 개별 요소의 xpath를 얻는 방법을 찾지 못했습니다.
그래서 묻고 싶습니다:
Python을 사용하여 웹 사이트의 모든 xpath 트리를 얻는 방법은 무엇입니까? (트리가 순환적인지 궁금합니다. 트리를 얻는 방법을 알아낸 후에는 알 수 있기를 바랍니다.)
HTML 수동 검색 기준: 나는 출력이 다음과 같기를 원합니다:
으아아아이것은 트리 목록의 예입니다.
하나 이상의 요소를 선택하는 XPath의 총 수는 무한합니다(예:
/a/b/../b/../b/../b
这样的路径),但是如果您限制将自己添加到/a[i]/b[j]/c[k]
형식의 경로가 포함되며, 경로 수는 요소 수와 같고 XPath의 "트리"는 원래 XML 트리와 동형입니다./a/b/c
、/a/b/d
과 같이 숫자 조건자 없이 다른 경로를 원하는 경우 가장 쉬운 방법은 아마도 XML 문서를 반복하고 각 요소에 대한 경로(이 형식)를 가져와 중복을 제거하는 것입니다. 단순한 경로 목록 대신 트리 구조를 원하는 경우 중첩된 맵/사전을 사용하여 빌드하세요.불평
/html/body/
的原因是合法的 XPath 表达式不能包含尾随/
.