84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
假设,QQ空间某个人对我的QQ设置了权限,也就是只有我登录了才可以访问,我想用PHP在服务端QQ空间然后抓取。遇到一些问题: 用casperjs登录有验证码,没办法,只能使用PHP登录WebQQ,那么我要怎么利用登录WebQQ的cookie来进入QQ空间呢? 或者求其他思路,求高手困扰很久了。
最终实现带cookie抓取页面内容即可。
ringa_lee
cookies 不過是 request header 中的一項內容罷了,請求頁面的時候把之前保存的 cookies 一起發過去,沒什麼大不了的。
用 file_get_contents 也行,示例代碼如下
file_get_contents
<?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); ?>
然後 $http_response_header 里有返回的新 cookies,保存下來供以後調用就行了。
$http_response_header
抓取頁面跟代理沒什麼兩樣,只不過目標呈現不同罷了。
cookies 不過是 request header 中的一項內容罷了,請求頁面的時候把之前保存的 cookies 一起發過去,沒什麼大不了的。
用
file_get_contents
也行,示例代碼如下然後
$http_response_header
里有返回的新 cookies,保存下來供以後調用就行了。抓取頁面跟代理沒什麼兩樣,只不過目標呈現不同罷了。