PHP模拟登陆抓取页面内容示例
内容摘要
这篇文章主要为大家详细介绍了PHP模拟登陆抓取页面内容示例,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
平时开发中经常会遇到抓取某
对此感兴趣的朋友,看看idc笔记做的技术笔记!
平时开发中经常会遇到抓取某
文章正文
这篇文章主要为大家详细介绍了PHP模拟登陆抓取页面内容示例,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!平时开发中经常会遇到抓取某个页面内容, 但是有时候某些页面需要登陆才能访问, 最常见的就是论坛, 这时候我们需要来使用curl模拟登陆。 大致思路:需要先请求提取 cookies 并保存,然后利用保存下来的这个cookies再次发送请求来获取页面内容,下面我们直接上代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | <code class = "php" > <?php /** * @Brief PHP读取Curl模拟登陆, 获取cookie, 带cookie进行请求 * @Date: 2016/7/2 * @Time: 9:41 */ //设置cookie保存位置 $cookieFile = dirname( __FILE__ ). 'cookie.curl.tmp' ; //第一步:获取cookie $url = 'http://www.idcnote.com' ; $data = array ( 'username' => '512pic' , 'password' => '512pic' , ); //curl初始化 $ch = curl_init(); curl_setopt( $ch , CURLOPT_URL, $url ); //设置为post请求 curl_setopt( $ch , CURLOPT_POST, true); //设置附带返回header信息为空 curl_setopt( $ch , CURLOPT_HEADER, 0); //post数据 curl_setopt( $ch , CURLOPT_POSTFIELDS, $data ); //cookie保存文件位置 curl_setopt( $ch , CURLOPT_COOKIEJAR, $cookieFile ); //设置数据返回作为变量储存,而不是直接输出 curl_setopt( $ch , CURLOPT_RETURNTRANSFER, true); //执行请求 $ret = curl_exec( $ch ); //关闭连接 curl_close( $ch ); //第二步:附带cookie请求需要登陆的页面 $url = 'http://www.idcnote.com' ; //curl初始化 $ch = curl_init(); curl_setopt( $ch , CURLOPT_URL, $url ); //设置为post请求 curl_setopt( $ch , CURLOPT_POST, true); //设置附带返回header信息为空 curl_setopt( $ch , CURLOPT_HEADER, 0); //设置cookie信息文件位置, 注意与第二步中的获取不同,这里是读取 curl_setopt( $ch , CURLOPT_COOKIEFILE, $cookieFile ); //设置数据返回作为变量储存,而不是直接输出 curl_setopt( $ch , CURLOPT_RETURNTRANSFER, true); //执行请求 $ret = curl_exec( $ch ); //关闭连接 curl_close( $ch ); //打印抓取内容 var_dump( $ret ); # End www_512pic_com </code> |
这样我们就抓取到了需要登陆才能访问页面的内容, 注意上面的地址只是一个示例,需要换成你想要抓取页面的地址。 这样我们就可以做到很多事情了, 千万不要做坏事哦!
注:关于PHP模拟登陆抓取页面内容示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释