今天扣丁学堂PHP培训老师给大家分享一篇关于PHP一个简单的无需刷新爬虫的小示例,下面我们一起来看一下吧。
<?php //设置最大执行时间set_time_limit(0);function getHtml($url){ // 1. 初始化 $ch = curl_init; // 2. 设置选项,包括URL curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_HEADER,0); // 3. 执行并获取HTML文档内容 $output = curl_exec($ch); if($output === FALSE ){ $output = ""; } // 4. 释放curl句柄 curl_close($ch); return $output;}function getPageData($url){ // 获取整个网页内容 $html = getHtml($url); // 初步获取主块内容 preg_match("/教程列表.*教程列表/s",$html,$body_html); // 返回数据 $data = array; //判断是否存在要获取的内容 if(count($body_html)){ // 获取页面指定信息 preg_match_all("/<a class="avatar".*user_id="(S*)" href="(S*)" rel="external nofollow" /",$body_html[0],$info_1); preg_match_all("/<a href="(.*)" rel="external nofollow" .*title="(.*)"/",$body_html[0],$info_2); $info = array_merge($info_1,$info_2); //组合的信息 for($index=0; $index<count($info[0]); $index++){ //以文章信息作为key存数组,以及覆盖旧数据 $data[$info[4][$index]] = array( "user_id" => $info[1][$index], "user_home" => $info[2][$index], "a_url" => $info[4][$index], "a_title" => $info[5][$index], ); } } return $data;}header("Content-type: text/html; charset=utf-8"); echo "<pre>";// 初始化数据$page_no = 1;$data_all = array;// 分页获取数据do{ $url = "http://www.codingke.com/article?page=2" . $page_no; $data = getPageData($url); $data_all += $data; $page_no ++;}while ($page_no <= 10); //当前只获取10页,如果要全部获取则把条件换成$data或!empty($data)var_dump($data_all);?>
以上就是关于扣丁学堂PHP培训之实现一个简单的无需刷新爬虫的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,想要了解更多关于PHP开发方面内容的小伙伴,请关注扣丁学堂PHP培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供权威的PHP开发视频教程,除此之外扣丁学堂还有PHP从入门到精通的学习路线图供大家参考哦。扣丁学堂PHP技术交流群:374332265。【关注微信公众号获取更多学习资料】 标签: PHP培训 PHP视频教程 PHP在线视频 PHP学习视频 本文仅代表作者个人观点,不代表巅云官方发声,对观点有疑义请先联系作者本人进行修改,若内容非法请联系平台管理员,邮箱2522407257@qq.com。更多相关资讯,请到巅云www.yinxi.net学习互联网营销技术请到巅云建站www.yx10011.com。