什么人,
我的目标是获取AdSense广告的完整HTML代码,以便对其进行解析。 (不是动态js代码,而是显示给用户的结果HTML)。这样做有合理的理由。
我正在使用phantomJS和以下脚本:
//phantomjs
var page = require('webpage').create();
var url = 'http://www.domain.com/directory/';
page.open(url, function (status) {
var js = page.evaluate(function () {
return document;
});
console.log(JSON.stringify(js));
phantom.exit();
});
但是,这只显示了javascript adsense代码,而不是HTML(实际广告)。
我做错了什么?
答案 0 :(得分:1)
在捕获内容之前尝试稍等一下。广告通常是异步加载的,当PhantomJS认为页面已经加载时可能不会出现。
page.open(url, function(){
setTimeout(function(){
console.log(page.content);
phantom.exit();
}, 5000);
});
如果广告在一个框架中,那么您首先需要使用page.switchToFrame
更改为框架上下文,并使用page.frameContent
记录内容。
如果这没有帮助,请注册onConsoleMessage
,onError
,onResourceError
,onResourceTimeout
事件。也许有错误。