时间:2021-07-01 10:21:17 帮助过:7人阅读
最终实现带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,保存下來供以後調用就行了。
抓取頁面跟代理沒什麼兩樣,只不過目標呈現不同罷了。