2010-07-18 11 views
2

저는 파이썬 2.4/2.5를 사용하고 있습니다. libxm2dom입니다. HTML 문서를 가져 와서 DOM을 빌드 할 수 있습니다. 특정 용어를 프로그래밍 방식으로 "검색"할 수있는 방법이 있습니까? XPath 함수를 사용하여 href이라는 용어를 추출 할 수 있습니까? 예를 들어, 문서에서 HTML의 덩어리를 주어 :요소를 찾아 파이썬을 사용하여 XPath를 반환하십시오.

... 
<a href="dog">bigdog</a> 
... 

내가 bigdog을 찾을 것이다하는 XPath 기능을 가지고 있고, href 링크를 얻기 위해 XPath를 반환하고 싶습니다.

+1

파이썬에서 libxml2를 사용하려면 실제로 lxml을 사용해야합니다. 클래식 DOM보다 훨씬 강력하고 편리한 API를 제공합니다. – lunaryorn

+0

질문에 대한 명확하고 간결한 방식으로 작업하십시오 ...이 질문에 대한 편집을 참조하십시오. –

답변

0

이 XPATH는 "bigdog"텍스트 인 a 요소의 @href을 선택합니다.

//a[text()='bigdog']/@href 
+0

안녕하세요, 화요일, 감사합니다 .. 더 분명해야합니다. 나는 실제로 정규 표현식을 성취 할 수있는 방법을 찾고 있었고 정규 표현식 함수를 기반으로 요소를 얻는 XPath를 만들 수 있었다. something // [text() = 'regex () ']/@ href –

+0

libxml2dom은 XPATH 1.0 만 지원하므로 matches() (정규 표현식 지원)와 같은 XPATH 2.0 함수가 빠져 있습니다. EXSLT를 지원하는지 확실치 않습니다. 그렇다면 exslt : match() 함수에서 REGEX를 사용할 수 있습니다. http://www.exslt.org/regexp/functions/match/index.html 분명히 lxml은 EXSLT 확장을 지원하므로 필요할 경우 사용할 수 있습니다. –

관련 문제