想通过snoopy做一个能够抓取人们在微信中发布的那种小卡片的页面的程序。
通过微信获得了卡片中的链接地址如下:http://mp.weixin.qq.com/s?__biz=MzA4ODI0ODgzMA==&mid=200108589&idx=8&sn=ee344bd2388b4d25dc91a4e82e8583fd&scene=1&from=groupmessage&isappinstalled=0#rd下面是我的代码:<?php
include "Snoopy.class.php";$url = $_POST['url'];
$snoopy= new Snoopy();
$snoopy->agent = "Mozilla/4.0  (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0)";
$snoopy->rawheaders["Pragma"] = "no-cache";
$snoopy->referer = "http://mp.weixin.qq.com"; 
$snoopy->rawheaders['X_FORWARDED_FOR'] = "127.0.0.1";$snoopy->fetch($url);
echo $snoopy->results;
?>
以上代码能够顺利抓取www.qq.com/www.sina.com但是在抓取上述微信分享链接时返回空,什么也没有,不知道微信做了怎样的限制,急求解答!

解决方案 »

  1.   

    echo file_get_contents('http://mp.weixin.qq.com/s?__biz=MzA4ODI0ODgzMA==&mid=200108589&idx=8&sn=ee344bd2388b4d25dc91a4e82e8583fd&scene=1&from=groupmessage&isappinstalled=0#rd');<!DOCTYPE html>
    <html> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
        <title>亚马逊+谷歌:马云的估值逻辑</title>
    .....如果不是这个,那么他是由js驱动的,跟踪了也不一定能抓到
    如果是,那一定的你的代码写错了
      

  2.   

    用file_get_content函数还真能取回页面,但是我的代码有啥问题呢,取www.qq.com什么的都可以啊。
    代码已经那么简单了,还能有啥问题呢?还请老大给些建议~