如果你去CNBC.COM并在" Chrome"中打开调试工具。或者您喜欢的浏览器,您可以看到网络跟踪。页面加载后,股票的报价数据会不断更新。
你会看到类似这样的东西每隔几秒重复一次。
http://quote.cnbc.com/quote-html-webservice/quote.htm?partnerId=2&requestMethod=quick&exthrs=1&noform=1&fund=1&output=jsonp&symbols=.SPX|.IXIC|.RUT|.VIX|.GDAXI|.FTSE|.FCHI|.FTMIB|.STOXX|.N225|.SSEC|.HSI|.AXJO|.KS11|%40CL.1|%40LCO.1|%40NG.1|%40RB.1|%40HO.1|%40SI.1|%40GC.1|%40HG.1|%40PL.1|%40PA.1|US10Y|DE10Y-DE|JP10Y-JP|UK10Y-GB|FR10Y-FR|EUR%3D&callback=quoteHandler1
当我使用以下代码时:
var page = require('webpage').create();
page.onResourceRequested = function(request) {
console.log('Request ' + JSON.stringify(request, undefined, 4));
};
page.onResourceReceived = function(response) {
console.log('Receive ' + JSON.stringify(response, undefined, 4));
};
page.open(url)
我看到该页面的所有初始请求资源。但是,不是连续的报价数据。我尝试将超时setTimeout()
设置为20秒,以便给它额外的时间来捕获其他请求,但它并没有。
我只需要20秒的额外捕获所有请求,以获得额外的qoute.cnbc.com。
我刚刚开始使用PhantomJS,我尝试了我在网络上看到的所有内容和stackoverflow并没有任何帮助。