首頁 >後端開發 >php教程 >如何带cookie抓取页面内容

如何带cookie抓取页面内容

WBOY
WBOY原創
2016-06-06 20:43:031549瀏覽

假设,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 也行,示例代碼如下

<code class="lang-php"><?php // Create a stream
$opts = array(
  'http'=>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);
?>
</code>

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

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn