PhantomjsでJSONを解析する方法を知りたいのですが。すべてのページコンテンツはhtmlで囲まれています(<html><body><pre>{JSON string}</pre></body></html>
)。囲んでいるタグを削除したり、「application/json」として別のコンテンツタイプを要求したりするオプションはありますか?そうでない場合、それを解析するための最良の方法は何ですか。 includeJS jQueryにインクルードした後にjQueryを使用していますか?
Webkitブラウザで構築されたPhantomJSを使用しているため、ネイティブJSONライブラリにアクセスできます。 page.evaluateを使用する必要はありません。ページオブジェクトのplainTextプロパティを使用するだけです。
http://phantomjs.org/api/webpage/property/plain-text.html
var page = require('webpage').create();
page.open('http://somejsonpage.com', function () {
var jsonSource = page.plainText;
var resultObject = JSON.parse(jsonSource);
phantom.exit();
});
これが私がしたことです:
var obj = page.evaluate(function() {
return eval('(' + document.body.innerText + ')');
}
次に、取得したobjは、そのページから返されたJSONオブジェクトです。