Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PhanthomJS-如何捕获连续请求?_Javascript_Phantomjs - Fatal编程技术网

Javascript PhanthomJS-如何捕获连续请求?

Javascript PhanthomJS-如何捕获连续请求?,javascript,phantomjs,Javascript,Phantomjs,如果您访问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|

如果您访问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,我尝试了我在web和stackoverflow上看到的所有东西,但没有任何帮助

有趣的任务。不幸的是,引用是在JSONP的帮助下请求的,结果似乎无法截获。从理论上讲,你可以劫持CNBC_Quotes.QuoteRetriever.prototype.getData并用你的函数替换它的回调,但是你必须在站点上反向工程模块加载。我认为只需定期清理显示报价的股票代码就更简单了。