페이지에서 모든 링크를 가져 와서 필요한 링크를 선택해야하는 웹 로봇을 구현하고 있습니다. 나는 링크가 "테이블"또는 "스팬"태그 안에있는 경우를 제외하고는 모두 작동합니다. 다음은 내 코드입니다 :Jsoup는 페이지의 모든 링크를 가져옵니다.
Document doc = Jsoup.connect(url)
.timeout(TIMEOUT * 1000)
.get();
Elements elts = doc.getElementsByTag("a");
그리고 여기 예제 HTML이다 :
<table>
<tr><td><a href="www.example.com"></a></td></tr>
</table>
내 코드는 링크를 가져 오지 않습니다. doc.select를 사용하는 것도 도움이되지 않습니다. 내 질문은 페이지에서 모든 링크를 얻는 방법입니다.
편집 : 문제가있는 부분을 알고 있다고 생각합니다. 문제가있는 페이지가 너무 잘못 작성되어 HTML 유효성 검사기에서 엄청난 양의 오류가 발생합니다. 이것이 문제를 일으킬 수 있습니까?
죄송합니다 나는이 문장하지 않는다 "덤프를 JSoup로 HTML (간단한 출력 doc.toString()) "할 수 있습니다. 더 명확하게 작성할 수 있습니까? –
'Document' (Jsoup가 요소를 선택하기 위해 그것을 사용할 때 파싱 된 HTML을 포함합니다)를 출력하십시오. 'System.out.println (doc)'을 통해 읽거나 파일에 씁니다. 이제 필요한 요소를 확인할 수 있습니다. Btw. 내 대답의 편집을 참조하십시오 (선택자로 getElements를 대체하지 못했습니다). – ollo