curl 如何创建cookie抓取网页信息,以下例子,怎么都无法抓取,求代码?
运单号: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登录页的效果。
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;
楼主可以把
sfsess
替换成自己的 cookie试试看效果。多个cookie分号分隔就行了。CURLOPT_COOKIEFILE
的用法:curl_setopt($ch, CURLOPT_COOKIEFILE, "/yourpath/cookie.txt");
,cookie.txt
内容格式跟http头一样:Set-Cookie:sfsess=*********
。
谁懂得的给个答案啊~!
上一篇: Spring中AOP操作的注解实现方式
下一篇: 给网页建立一个简单的access数据库