我想获取远程ajax页面的数据,都知道这种数据是不会显示在页面源码中的,如何能获取到。提供个思路或方法,非常感谢。不知能否用php实现获取?

解决方案 »

  1.   

    就是自己的页面用Ajax更新后都难获取,你可以照着那个远程页面的JS,看看调用JS代码,你也跟着复制并改改JS代码,重新进行Ajax同步,应该都可以获取Ajax的内容,如果有表单选择更新的内容,那就麻烦了
      

  2.   

    听着复杂啊,我就是想类似用file_get_contents()函数获取某网页瞬间html源码,然后在对内容进行分析,现在是抓不到带数据的网页,至于抓取的时间没有严格要求。
      

  3.   

    肯定不行了,肯定不行,除非Ajax的调用PHP的文件有个参数,你按照URL获取,但大多数都是不行的
      

  4.   

    你ajax传过去的参数,函数不一定执行啊,所以估计取不到你要的数据!
      

  5.   

    ajax不能迈域访问,因此不能访问远程数据。变态的方法是向服务器发出请求,由服务器访问其他域的页面再返给ajax。
      

  6.   

    说实话,没看懂是怎么回事。
    A.php---访问B.php?
    B.php---里有ajax对象?
    proc.php---ajax处理页?
    你想怎么组织?
      

  7.   

      似乎, ajax 不能跨域... 
      

  8.   

    我的意思是说,比如你打开一个ajax的页面,就说股市吧,您能在网页上看到股票数据。按一般的网页来说,您在浏览器上打开“查看源码”,您就能看到这只股票的涨跌数据,比如“13.95”。但如果是ajax的网页,您虽然能在网页上看到13.95,但打开“查看源码”,却找不到这个数据。因此,在用file_get_contents()获取这个页面时,也就自然获取不到源码里的数据。我的问题是,这这种情况下,如何可以获取到里面的数据呢?
      

  9.   

    用firefox, 选中该片数据区后右键查看源码即可
    不要用菜单上那个。或 firefox安装firebug插件后,用firebug的那个选中看
      

  10.   

    google的sites共享怎么办?他上面我又不能放php,也不让用iframe,我怎么抓取远程页面呢?(只是想把自己的其它空间同一到一起)
      

  11.   

    我知道你的意思。要分两次请求!
    首先那个php文件你肯定要请求的,把它为地址a。你先用浏览器,看看地址a的源代码,看看它ajax请求的地址和参数是什么,把它称为地址b。第一次先请求地址a,获得源代码,本来这里地址a应该是自动触发ajax去请求地址b的,但涉及两个原因它肯定不会去请求了,这里先不说原因了。所以你要代替它去请求,你自己再发送一次请求去请求地址b。两个原因造成你得到的代码不会去请求地址:
    1 跨域
    2 请求回来的js不一定完整,而且可能ajax函数不是写在当前页面,可能引用了一个*.js文件,如果写的是相对路径的话你是引用不到的。
      

  12.   

    楼主好像只需要一个HTTP抓包工具
      

  13.   


    首先获取页面上的内容,然后伪造当前页面向ajax请求的地址发送数据请求,然后获取.
      

  14.   

    不用那么麻烦
    用firebug看请求的地址和参数
    直接get或POST提取就行了