将 https://mtgox.com/code/data/getTrades.php 用GOOGLE浏览器打开(IE打开会出错误),会出现成交明细如下:[{"date":1321289701,"price":"2.281","amount":"4.81","price_int":"22810","amount_int":"481000000","tid":"1321289701303680","price_currency":"USD","item":"BTC","trade_type":"ask"},{"date":1321289701,"price":"2.2712","amount":"15.19","price_int":"227120","amount_int":"1519000000","tid":"1321289701335672","price_currency":"USD","item":"BTC","trade_type":"ask"},...请用JS脚本读取该内容,并用字符串函数修改格式,使脚本输出如下格式内容:日期date 2011-11-15 23:57:15 成交价格price2.281  成交数量4.81  币种USD  买卖方向:卖出(ask)
日期date 2011-11-15 23:56:21 成交价格price2.2712 成交数量15.19 币种USD  买卖方向:买入(bid)price_int  amount_int tid都不要了。并且,每N分钟刷新一次,N可设置为1~5,刷新采用AJAX无闪烁无刷新网页效果。一定给分,非常感谢!

解决方案 »

  1.   

    没有代码,只有思路:[定时]跨域请求数据(格式为json) -> 前台接收并处理
      

  2.   

    我现在将该帖从AJAX论坛移到PHP论坛。不再要求用JS实现了,希望能用PHP实现。我找到一段代码:$myurl = "http://baidu.com"; //网址
    $f_info=file($myurl); //将网址网页打开并存入$f_info数组
    echo "该数组一共有元素:".count($f_info)."个!因此共显示".count($f_info)."行:<p>"; //该数组共多少个元素
    $i=0;
    while ($i < count($f_info)) {
    echo "第".$i."行".$f_info[$i]; //将该数组元素一一显示出来
    $i++;
    }
    该代码能够读取百度首页并显示出来,但是不能读取显示http://mtgox.com/api/0/data/ticker.php希望大侠解决:
    1、用PHP读取远程网页,用字符串函数进行处理;
    2、解决能读取普通网页如百度首页,但不能读取http://mtgox.com/api/0/data/ticker.php的问题。
      

  3.   

    用file_get_contents()试试看。。抓取过来是什么样子的。。
      

  4.   

    Warning: file_get_contents(http://mtgox.com/api/0/data/ticker.php) [function.file-get-contents]: failed to open stream: HTTP request failed! in /data/home/blu005105/htdocs/bitcoin.php on line 15file_get_contents()也不行
      

  5.   

    6楼给的思路正确。加上模拟UA的语句后就采集正常了。不过没人给我AJAX代码,这才是我想要的。给6楼2分,结贴。
      

  6.   

    先不着急结贴,还想知道答案。现在问题有了进展,我已经可以远程获得数据:<?php//先发送UA,模拟浏览器浏览
    ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; GreenBrowser)');$url='http://mtgox.com/api/0/data/ticker.php';//网址
    $flg=@file_get_contents($url);//将远程文件读入为字符串,是JSON格式
    $obj = json_decode($flg,true);//将JSON格式转为PHP数组 
    var_dump($obj); //输出显示PHP数组原始内容echo "Mtgox最高价:".$obj['ticker']['high']."<br>卖出价:".$obj['ticker']['sell']."<br>现价:".$obj['ticker']['last']."<br>买入价:".$obj['ticker']['buy']."<br>最低价=".$obj['ticker']['low']."<p>"."均价=".$obj['ticker']['avg']."<br>24小时vwap=".$obj['ticker']['vwap']."  "."<br>成交量=".$obj['ticker']['vol'];?>现在的问题是,如何将上述代码改为AJAX自动无刷新显示,例如每隔5秒自动取数据。
    一定给分,80分啊。
      

  7.   

    jquery定时器之后php服务端执行。或者写个php计划任务执行。
      

  8.   

    $(function(){
        var handler = function(){
            //do something as you like
        }
        var timer = setInterval( handler , 1000);
        
        var clear = function(){
            clearInterval(timer);
        }
    });楼上的想法不错,我找到了以上定时器代码。
    继续等待大侠们的修改9楼代码。
      

  9.   

    感情是你啥也不会啊,PHP不会,js的ajax也不会啊