Heim >Backend-Entwicklung >PHP-Tutorial >curl 如何创建cookie抓取网页信息,以下例子,怎么都无法抓取,求代码?
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=*********
。
谁懂得的给个答案啊~!