2012-04-09 3 views
2

웹 페이지의 내용을 읽는 데 도움이 필요합니다. 현재 다음 방법을 사용하여 내용을 읽습니다.자바에서 동적 웹 페이지 컨텐츠 읽기

BufferedReader in = new BufferedReader(new InputStreamReader(page.openStream())); 
String inputLine; 
while ((inputLine = in.readLine()) != null) 
{Content = Content + inputLine;} 

그러나이 방법을 사용하면 문제가 발생합니다. . 언급 한 바와 같이이 페이지를 독자가 내 자바 방법으로 읽을 때 그래서 결과

if (request.readyState === 4 && request.status === 200) 
{ 
var type = request.getResponseHeader("Content-Type"); 
$('.update').empty(); 
$('.update').append(request.responseText); //update the css class 
} 

: 일부 JSP 페이지는 아이디어를 제공하기 위해 무작위로 너무 자바 스크립트 코드와 같은 웹 페이지의 CSS 클래스를 업데이트 그들 아약스가 위의 값을 얻습니다.

<div class="update"></div> 

이 클래스에는 값이 있습니다. 그러나 이제 Firefox에서 저장을 클릭하여 페이지를 저장하면 jquery로 CSS 클래스에 추가 된 값도 볼 수 있습니다. Firefox에서 페이지를 저장하여 값을 읽거나 값을 얻는 방법이나 방법이 있습니까? 문자열에있는 Ajax 값을 사용하여 전체 웹 페이지의 내용을 읽고 싶습니다.

한 쪽에서는 브라우저에서 렌더링 및 실행 된 JAvascript 이후로 읽기가 어려워서 파이어 폭스가 도움이 될만한 API가 있는지 알고 싶었습니다. 모든 제안을 부탁드립니다.

+1

StreamReader로 웹 페이지를 렌더링하는 것이 아니라 웹 페이지를 렌더링해야합니다. Google 검색 "Java로 웹 렌더링"(따옴표 제외)을 사용하여 작업 할 수있는 것을 찾았는지 확인하십시오. –

답변

4

당신은 유용한 다음 프로젝트를 찾을 수 있습니다 :

또한 데이터 빅뱅에서 very informative blog post입니다.

+0

HTMLUnit이 내가 필요로했던 것과 똑같은 멋진 답장을 보내 주셔서 감사합니다. 유망하지만 아직 사용하지는 않았습니다. – Rajeshwar

+0

Htmlunit은 일부 자바 스크립트 웹 사이트를 크롤링하지 않습니다. – BasK

2

PhantomJS도 확인하십시오. Crowbar가 모질라 브라우저가없는 것과 같은 방식으로, PhantomJS는 사파리와 구글 크롬이 사용하는 엔진 인 헤드없는 WebKit 브라우저입니다.

+0

PhantomJS는 매력적이고 내 필요에 어울리는 것 같습니다. –