例如,一个网页,正常浏览,是可以在网页上看到span的内容的。
但是一旦用php的file_get_html方法,想解析span下的内容,却获取不到!但是网页上明明有内容的啊!
我试了很多方法,例如用file_put_content也是获取不到。但是如果我手动把网页另存为,然后查看网页html源码是能看到span下有内容的。谁能告诉我怎么回事呢?脑子要想炸了。。

解决方案 »

  1.   

    再详细说明一下问题,网页上内容,用查看源码看到如下:
    <span class="price-sales">1.800€</span>
    但是如果,用file_put_content获取这个网页内容,看到的却是:
    <span class="price-sales">N/A</span>这究竟为什么呢?
      

  2.   

    file_get_html 是什么?php 有这个函数吗?
    file_put_content 是向文件写,自然也不会获取什么你 #1 说的情况,多半内容是用 js 产生的
      

  3.   

    echo一下file_get_html得到的内容,看看span下面有内容吗
      

  4.   


    file_get_html是php解析html文件方法里的一个函数,是如果html内容是js产生的就获取不到了嘛?
      

  5.   

    是的,js 代码要经过浏览器解析、执行才会有结果
    而 php 程序并没有解析 js 的能力
      

  6.   

    如果是查看源代码看到的,则表示不是使用js异步加载,都可以采集,例如使用file_get_contents($url),或curl不过有些网站做了防采集处理。需要判断header来源,ip等信息的。