如何带cookie抓取页面内容

原创
2016-06-06 20:43:03 1199浏览

假设,QQ空间某个人对我的QQ设置了权限,也就是只有我登录了才可以访问,我想用PHP在服务端QQ空间然后抓取。遇到一些问题:
用casperjs登录有验证码,没办法,只能使用PHP登录WebQQ,那么我要怎么利用登录WebQQ的cookie来进入QQ空间呢?
或者求其他思路,求高手困扰很久了。

最终实现带cookie抓取页面内容即可。

回复内容:

假设,QQ空间某个人对我的QQ设置了权限,也就是只有我登录了才可以访问,我想用PHP在服务端QQ空间然后抓取。遇到一些问题:
用casperjs登录有验证码,没办法,只能使用PHP登录WebQQ,那么我要怎么利用登录WebQQ的cookie来进入QQ空间呢?
或者求其他思路,求高手困扰很久了。

最终实现带cookie抓取页面内容即可。

cookies 不過是 request header 中的一項內容罷了,請求頁面的時候把之前保存的 cookies 一起發過去,沒什麼大不了的。

file_get_contents 也行,示例代碼如下

array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n"
  )
);

$context = stream_context_create($opts);

// Open the file using the HTTP headers set above
$file = file_get_contents('http://www.example.com/', false, $context);
?>

然後 $http_response_header 里有返回的新 cookies,保存下來供以後調用就行了。

抓取頁面跟代理沒什麼兩樣,只不過目標呈現不同罷了。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。