Heim >Backend-Entwicklung >PHP-Tutorial >curl 如何创建cookie抓取网页信息,以下例子,怎么都无法抓取,求代码?

curl 如何创建cookie抓取网页信息,以下例子,怎么都无法抓取,求代码?

WBOY
WBOYOriginal
2016-06-06 20:43:191108Durchsuche

http://www.postdanmark.dk/en/tracktrace/Pages/home.aspx 快递公司网址

运单号:RC376981536HK
通过输入快递公司网址,然后输入运单号查询快递跟踪信息,跳转到另外一个就是快递跟踪信息 的页面,我就是想抓取那个页面的快递信息,怎么都无法获取,好艰难的说,谁能帮我弄一个代码实例出来给我瞧瞧,听说是要创建cookie!!!!新手才学一个月,这个是师傅给出的任务!!!

回复内容:

http://www.postdanmark.dk/en/tracktrace/Pages/home.aspx 快递公司网址

运单号:RC376981536HK
通过输入快递公司网址,然后输入运单号查询快递跟踪信息,跳转到另外一个就是快递跟踪信息 的页面,我就是想抓取那个页面的快递信息,怎么都无法获取,好艰难的说,谁能帮我弄一个代码实例出来给我瞧瞧,听说是要创建cookie!!!!新手才学一个月,这个是师傅给出的任务!!!

你是使用c++的么? 如果是的话,请参考官方的例子:
http://curl.haxx.se/libcurl/c/cookie_interface.html
如果不是的话,请直接到 curl.haxx.se 中查找对应语言的设置方式

如果你是指 curl 一个地址后,继续跟踪302跳转后的页面话, 命令行可以使用 -L参数,php 里可以给curl 加上 curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);

楼主是要把登录的cookie带过去,然后抓去网页内容吗? 这段示例代码是用登录完的cookie访问sf登录页的效果。

<code>  header('Content-Type="text/html";charset="UTF-8"');
 $login_url = 'http://segmentfault.com/user/login';

 $ch = curl_init($login_url);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
 curl_setopt($ch, CURLOPT_COOKIE, "sfsess=" . rawurlencode('your sf.gg login cookie')); 

 $test = curl_exec($ch); 
 curl_close($ch);
 echo $test;
</code>

楼主可以把sfsess替换成自己的 cookie试试看效果。多个cookie分号分隔就行了。
CURLOPT_COOKIEFILE的用法: curl_setopt($ch, CURLOPT_COOKIEFILE, "/yourpath/cookie.txt");cookie.txt内容格式跟http头一样:Set-Cookie:sfsess=*********

谁懂得的给个答案啊~!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn