$url = "http://search.gome.com.cn/product.do?topCtgyId=10000000&ctgLevel=3&ctgyId=10000070";
$snoopy = new Snoopy;
$snoopy->fetch($url);
var_dump($snoopy);

解决方案 »

  1.   

    应该是Snoopy的bug  用别的任何方法都可以成功获取
      

  2.   

    PHP Snoopy的用法介绍PHP类Snoopy是一个用来模仿web浏览器的功能,他具有方便抓取网页的内容、文本、链接等特点,它能完成获取网页内容和发送表单的任务。
    snoopy需要PHP4以上版本和PCRE(Perl Compatible Regular Expressions)的支持,这些基本的LAMP服务都是支持的。
    下面来介绍一下snoopy提供的方法:
    1.fetch($url)
    用fetch()可以抓取网页的内容,$url是要抓取网页的网址,抓取过来结果存储到$this->results。如果你抓取的页面中包含框架(frame),那么每个frame都会被抓取,之后结果会保存到一个数组中。2.fetchtext($url)
    和fetch()类似,只是fetchtext()的结果是文本,即除去HTML标签和其他无关信息。3.fetchform($url)
    返回抓取的网页上的form元素,即页面中的表单。4.fetchlinks($url)
    返回抓取的网页上的链接,默认返回的链接都是含有域名的链接。5.submit($url,$formvars)
    提交一个表单到指定的$url,$formvars是要传递的form变量数组。6.submittext($url,$formvars)
    和submit()类似,但是它返回的是文本,除去了html标签和其他无关数据。7.submitlinks($url)
    返回链接。