2009-04-03 1 views
4

웹 페이지, 특히 태그와 그 안에있는 콘텐츠에서 콘텐츠를 가져올 수 있기를 원합니다. 나는 XQuery와 XPath를 시도했지만 형식이 잘못된 XHTML에서는 작동하지 않는 것으로 보이고 REGEX는 고통스런 일이다.Java 응용 프로그램에서 잘못 형성된 XHTML 페이지를 스크랩하는 가장 좋은 방법은 무엇입니까

더 나은 솔루션이 있습니까? 이상적으로 모든 링크를 요청하고 URL 배열을 가져 오거나 링크 텍스트를 요청하여 링크 텍스트로 문자열 배열을 가져 오거나 모든 굵은 텍스트를 요청할 수 있기를 바랍니다

+0

메이트, 방금 중복 질문 게시에서 나를 구해 줬습니다. :) 내가 더 알아야 할 것이 있습니다. 감사. –

+0

기술적으로 XHTML을 제대로 형성 할 수 없습니다. XHTML의 규정은 그것이 잘 형성되고 유효하다는 것입니다. 절름발이 의견에 사과드립니다. 잘못된 XHTML이 나를 분노하게 만듭니다. –

답변

4

XHTML을 JTidy과 같이 실행하면 유효한 XML이 다시 제공됩니다.

2

Watij을 참조하십시오. Ruby 사촌 인 Watir 만 사용했지만 웹 페이지를로드하고 설명하는 방식대로 페이지의 모든 URL을 요청할 수있었습니다.

작업하기가 매우 쉬웠습니다. 말 그대로 웹 브라우저를 실행하고 좋은 정보를 제공합니다. IE 지원은 가장 좋았지 만, 적어도 Watir Firefox에서도 지원되었습니다.

+0

Watij을 사용했고 매우 잘 작동합니다. –

2

오늘 JTidy에 몇 가지 문제가있었습니다. 나는 그것이 JTidy를 실패하게 만든 폐쇄되지 않은 태그와 관련이 있다고 생각한다. 나는 그것이 지금 고쳐 졌는지 모른다. 나는 정확한 프로젝트의 이름을 기억하지 못하더라도 TagSoup에 대한 래퍼 (wrapper) 인 것을 사용했다. Theres도 HTMLCleaner입니다.

2

나는 http://htmlparser.sourceforge.net/을 사용했습니다. 그것은 불완전하게 형성된 HTML을 분석 할 수 있고 데이터 추출을 아주 쉽게 할 수 있습니다.

+0

이것은 .NET과 매우 유사하게 보입니다. "HTML Agility Pack"은 xPath를 사용하여 HTML에서 데이터를 가져옵니다.) – Dror

관련 문제