2011-02-14 3 views
0

나는 html 페이지에서 데이터를 가져와야하므로 LWP를 사용하여 페이지 내용을 가져 왔습니다. 내가받은 응답은 부분적인 것이지 페이지의 전체 소스가 아닙니다.Perl이 응답의 전체 내용보기

...

<div style="display:none" id="QUERY" query=""></div> 
<div style="display:none" id="COLL" idcoll=""></div> 
<div style="display:none" id="BROWSE" field=""></div> 

<div id="center"></div> 
<div id="loading"></div> 
...

(FIRE 버그) 웹 디버거를 사용하여 나는 아래 숨겨진 콘텐츠를 볼 수 있습니다

<div id="center"></div> 
<div id="loading"></div> 

어떻게해야합니까? Perl을 사용하여 숨겨진 데이터를 얻으시겠습니까?

3 일 동안 내 마음이 아프다! 미리 감사드립니다.

답변

1

LWP가 가져 오는 HTML 소스에 없으면 다른 방법으로 추가됩니다. 아마도 Javascript가 실행 중이거나 쿠키 또는 사용자 에이전트 문자열로 인해 웹 서버가 LWP와 다른 페이지를 제공합니다.

+0

감사합니다.하지만 JS 실행 중 ... 콘텐츠를 어떻게 볼 수 있습니까? – GrinGo

+0

@GrinGo : 자바 스크립트에 완전히 의존합니다. 우리는 더 많은 것을 말하기 위해 더 많은 코드가 필요합니다. 어쩌면 그것은 무언가를 즉석에서 계산할 것입니다. 아마도 AJAX 요청을합니다. – Tim

+0

제발 당신이 무엇을 제공해야합니까 말해 ... – GrinGo

3

실행중인 JS를 가정 해 봅시다. 어떻게해야합니까? 콘텐츠를 볼 수 있습니까?

WWW::Mechanize::Firefox을 사용할 수 있습니다. Javascript를 지원하는 것 같습니다.

+0

Firefox에서 Javascript가 활성화 된 경우 Javascript를 지원합니다. –

2

실제로 자바 스크립트를 사용하여 콘텐츠를 추가하는 경우 WWW::Scripter을 자바 스크립트 또는 Ajax 플러그인과 함께 사용할 수 있습니다.

0

Firebug을 설치하거나 Safari Develop 메뉴를 사용하여 서버에 수행중인 AJAX/XHR 요청 및 POST/GET 매개 변수를 확인하십시오. 그런 다음 LWP 또는 다른 HTTP 클라이언트 모듈을 사용하여 이러한 요청을 수행 할 수 있습니다.