javascript - 파싱 - react 서버사이드 렌더링



phantomjs를 사용하여 javascript 렌더링 된 html 소스 가져 오기 (1)

우선, 개발 환경이나 테스트 환경에서 도움이 필요하지 않습니다. 또한 나는 phantomjs에 익숙하지 않고 단지 내가 원하는 것은 리눅스 터미널에서 phantomjs의 명령 행 작업이다.

나는 그의 몸이 자바 스크립트 코드에 의해 렌더링되는 html 페이지를 가지고있다. 내가 원하는 것은 phantomjs를 사용하여 렌더링 된 HTML 컨텐트를 다운로드하고 싶었습니다.

나는 팬텀을 사용하는 것에 대해 아무런 생각이 없다. 쉘 스크립팅에 대한 경험이 조금 있습니다. 그래서 저는 이것을 curl 하려고했습니다. 그러나 컬이 자바 스크립트를 렌더링하기에 충분하지 않기 때문에 기본 소스 코드의 html 만 얻을 수있었습니다. 렌더링 된 내용이 다운로드되지 않았습니다. 나는 루비 기계화가이 일을 할 수도 있다고 들었다. 루비에 대한 지식이 없습니다. 그래서 추가 조사에서 커맨드 라인 툴 phantomjs 발견했습니다. 내가 어떻게 이것을 phantomjs 할 수 phantomjs ?

언제든지 모든 추가 정보를 제공해야하는지 물어보십시오.


불행히도 PhantomJS 명령 행을 사용하는 것은 불가능합니다. PhantomJS로 실제로 무엇인가를 달성하기 위해서는 Javascript 파일을 사용해야합니다.

다음은 사용할 수있는 아주 간단한 스크립트 버전입니다.

대부분 https://.com/a/12469284/4499924 에서 코드 복사

printSource.js

var system = require('system');
var page   = require('webpage').create();
// system.args[0] is the filename, so system.args[1] is the first real argument
var url    = system.args[1];
// render the page, and run the callback function
page.open(url, function () {
  // page.content is the source
  console.log(page.content);
  // need to call phantom.exit() to prevent from hanging
  phantom.exit();
});

페이지 소스를 표준 출력으로 인쇄합니다.

phantomjs printSource.js http://todomvc.com/examples/emberjs/

페이지 소스를 파일에 저장하려면

phantomjs printSource.js http://todomvc.com/examples/emberjs/ > ember.html





phantomjs