PHP实现简单爬虫的技巧
发布时间:2022-07-24 14:36:48 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了PHP实现简单爬虫的方法,涉及php页面抓取及分析的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下。 本文实例讲述了PHP实现简单爬虫的方法,分享给大家供大家参考,具体如下: ?php /** * 爬虫程序 -- 原型 * * 从给定的url获取html内
这篇文章主要介绍了PHP实现简单爬虫的方法,涉及php页面抓取及分析的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下。 本文实例讲述了PHP实现简单爬虫的方法,分享给大家供大家参考,具体如下: <?php /** * 爬虫程序 -- 原型 * * 从给定的url获取html内容 * * @param string $url * @return string */ function _getUrlContent($url) { 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; * * @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 . "rn"); } } } while ($current_url = fgets($fp_gets, 1024)); //不断获得url } main(); (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |