2012-05-09 3 views
0

웹에서 HTML 문서를로드하고 구문 분석하기위한 코드를 작성 중입니다. 내가 지금처럼 JDOM을 사용하고JDOM에서이 URL을로드 할 수없는 이유는 무엇입니까? 브라우저 스푸핑?

는 :

SAXBuilder parser = new SAXBuilder(); 
Document document = (Document)parser.build("http://www.google.com"); 
Element rootNode = document.getRootElement(); 
/* and so on ...*/ 

그것은 그렇게 잘 작동합니다. 그러나 URL을 "http://www.kijiji.com"과 같은 다른 웹 사이트로 변경하면 parser.build(...) 행이 중지됩니다.

이유가 무엇입니까? Kijiji가 내가 "진짜"웹 브라우저가 아니라는 것을 알고 있기 때문에 wondernig일지도 모른다. 아마도 http 요청을 스푸핑해야 IE처럼 보일 것 같은가?

아이디어가 유용합니다. 감사합니다.

답변

1

나는 몇 가지가 여기에 갈 수있다 생각합니다. firdt 문제는 ​​당신이 JDOM과 일반 HTML을 구문 분석 할 수 있다는 것입니다, HTML 내가 JDOM을 통해 kijiji.com 실행할 때 나는 즉시 HTTP_400 응답 내가 구문 분석

을 얻을, 둘째 ....

하지 XML이다 google.com 올바른 형식에 대한 즉각적인 XML 오류가 발생합니다. 당신은 그러나 어떤 점에서 XHTML을 구문 분석 할 일이 있다면

, 당신은 가능성이 여기에이 문제에 실행됩니다 : http://www.w3.org/blog/systeam/2008/02/08/w3c_s_excessive_dtd_traffic/

XHTML 등 살전 각에서로드 30 초 정도 걸릴 다른 않은 doctype을 참조하는 문서 타입을 가지고 있습니다 w3c.org ....

+0

doctypes를 다루는 방법은 일반적으로 사용되는 영구적 인 로컬 캐시를 만드는 것입니다. –