web-dev-qa-db-ja.com

wget + JavaScript?

ユーザーに表示される前に、クライアント側のJavaScriptを使用してページ上のデータをフォーマットするこのWebページがあります。

どういうわけかwgetを使用してページをダウンロードし、何らかのクライアント側JavaScriptエンジンを使用して、ブラウザーに表示されるようにデータをフォーマットすることは可能ですか?

25
Jake Wilson

あなたはおそらくそれを PhantomJS のようなもので起こすことができます

ブラウザと同じようにページを読み込むphantomjsスクリプトを記述し、スクリーンショットを撮るか、JSを使用してページを検査し、データを引き出します。

25
Alex Wayne

以下は、WebページでJavaScriptをトリガーし、ローカルでそれをプルダウンできるようにする単純な小さなphantomjsスクリプトです。

file: get.js

var page = require('webpage').create(),
  system = require('system'), address;

address = system.args[1];
page.scrollPosition= { top: 4000, left: 0}  
page.open(address, function(status) {
  if (status !== 'success') {
    console.log('** Error loading url.');
  } else {
    console.log(page.content);
  }
  phantom.exit();
});

次のように使用します。
$> phantomjs /path/to/get.js "http://www.google.com" > "google.html"

変更/path/tourlおよびfilenameを必要に応じて変更します。

6
user4401178

Wgetではありません。JavaScriptエンジンの任意の形式が含まれているとは思いません。ただし、WebKitを使用してページ、つまり出力を処理することができます。

このようなものをコンテンツの取得方法のベースとして使用: http://splied.wordpress.com/2008/06/04/take-screenshots-of-a-website-from-the-command-行/

1
drowe