2010-01-07 3 views
1

다음과 같은 HTML이있는 경우 :xpath를 사용하여 HTML 앵커 태그의 값을 가져올 수 있습니까?

<td class="blah">&nbs;<a href="http://.....">????</a>&nbsp;</td> 

???? 가치를 사용하여 xpath? 어떻게 생겼을까요?

+0

제목은 실제로 당신이 요구하는 것이 아닙니다. 당신이 정말로 원하는 것은'href' 속성이 특정 URL과 같은'a' 요소의 내용을 가져 오는 것입니다 ... 맞습니까? –

+0

맞습니다. – mrblah

+0

xpath에 대해서는 잘 모르지만 Python HTML 파서는 정말 멋지 네요. BeautifulSoup . 자바를 사용하고 있기 때문에 유용하지 않을 수 있습니다. –

답변

0

왜 XML 구문 분석기를 사용하여 HTML을 구문 분석합니까? 전담 자바 HTML 파서를 사용 하시길 권합니다. 많은 것들이 있지만, 나 자신을 시도하지는 않았습니다.

귀하의 질문에, 그것은 작동하지 않을 것입니다, 나는 그것이 작동하지 않을 것 같아요, 그렇지 않으면 이전에 &nbs;에 HTML로 구문 분석하려고하면 오류가 발생합니다.

1

XPath를 사용하려면 일반적으로 HTML이 아닌 XML이 필요하지만 일부 구문 분석기 (예 : PHP에 내장 된 파서)에는 대부분 HTML을 구문 분석하는 편안한 모드가 있습니다.
당신은 <td class="blah"> 직접 아이들이 당신이 필요로하는 XPath는이

//td[@class = 'blah']/a 
or 
//td[@class = 'blah']/a[@href = 'http://...'] 


이 당신의 Set 줄 것이다 (당신은 단지 하나 개의 URL 또는 모든 URL을할지 여부에 따라)되어있는 모든 <a>를 찾으려면 노드. 이를 반복하고 firstChild (텍스트 노드로 가정 됨) 및 자식 노드 (1로 간주 됨)의 nodeType을 확인해야합니다. 그런 다음 firstChild에 ????가 포함됩니다.

관련 문제