首页 / 爬虫 / PHP,爬虫PHP实现最简单爬虫原型
PHP,爬虫PHP实现最简单爬虫原型
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP,爬虫PHP实现最简单爬虫原型,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2025字,纯文字阅读大概需要3分钟。
内容图文
![PHP,爬虫PHP实现最简单爬虫原型](/upload/InfoBanner/zyjiaocheng/150/1e207f3a7111498181f5b54f13a3e486.jpg)
下面是一个最简单的php实现的爬虫模型。
<?php /** * 爬虫程序 -- 原型 * * BookMoth 2009-02-21 */ /** * 从给定的url获取html内容 * * @param string $url * @return string */ function _getUrlContent($url){ $handle = fopen($url, "r"); if($handle){ $content = stream_get_contents($handle,1024*1024); return $content; }else{ return false; } } /** * 从html内容中筛选链接 * * @param string $web_content * @return array */ function _filterUrl($web_content){ $reg_tag_a = '/<[a|A].*?href=[/'/"]{0,1}([^>/'/"/ ]*).*?>/'; $result = preg_match_all($reg_tag_a,$web_content,$match_result); if($result){ return $match_result[1]; } } /** * 修正相对路径 * * @param string $base_url * @param array $url_list * @return array */ function _reviseUrl($base_url,$url_list){ $url_info = parse_url($base_url); $base_url = $url_info["scheme"].'://'; if($url_info["user"]&&$url_info["pass"]){ $base_url .= $url_info["user"].":".$url_info["pass"]."@"; } $base_url .= $url_info["host"]; if($url_info["port"]){ $base_url .= ":".$url_info["port"]; } $base_url .= $url_info["path"]; print_r($base_url); if(is_array($url_list)){ foreach ($url_list as $url_item) { if(preg_match('/^http/',$url_item)){ //已经是完整的url $result[] = $url_item; }else { //不完整的url $real_url = $base_url.'/'.$url_item; $result[] = $real_url; } } return $result; }else { return; } } /** * 爬虫 * * @param string $url * @return array */ function crawler($url){ $content = _getUrlContent($url); if($content){ $url_list = _reviseUrl($url,_filterUrl($content)); if($url_list){ return $url_list; }else { return ; } }else{ return ; } } /** * 测试用主程序 * */ function main(){ $current_url = "http://hao123.com/";//初始url $fp_puts = fopen("url.txt","ab");//记录url列表 $fp_gets = fopen("url.txt","r");//保存url列表 do{ $result_url_arr = crawler($current_url); if($result_url_arr){ foreach ($result_url_arr as $url) { fputs($fp_puts,$url."/r/n"); } } }while ($current_url = fgets($fp_gets,1024));//不断获得url } main(); ?>
内容总结
以上是互联网集市为您收集整理的PHP,爬虫PHP实现最简单爬虫原型全部内容,希望文章能够帮你解决PHP,爬虫PHP实现最简单爬虫原型所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。