php 爬虫 类,php爬虫原型
php爬蟲原型
/*
@desc:爬蟲原型
@author [Lee] ]>
@param url 初始url
@param callback 處理業(yè)務(wù)的回調(diào)函數(shù)
@param 挖掘url的深度 默認(rèn)3
*/
function crawl($url,$callback,$depth = 3){
if($depth > 0){
$depth--;
$http = new http($url);
$content = $http->get()->exec();
// 業(yè)務(wù)處理開始
call_user_func($callback,$content);
// 業(yè)務(wù)處理結(jié)束
$preg = '/\'\"\ ]*).*?>/';
$bool = preg_match_all($preg,$content,$res);
$urls = array();
if($bool){
$urls = $res[1];
}
$urls = array_unique($urls);
$info = parse_url($url);
$scheme = $info["scheme"]?:'http';
$user = $info["user"];
$pass = $info["pass"];
$host = $info["host"];
$port = $info["port"];
$path = $info["path"];
$url = $scheme . '://';
if ($user && $pass) {
$url .= $user . ":" . $pass . "@";
}
$url .= $host;
if ($port) {
$url .= ":" . $port;
}
$url .= $path;
if (is_array($urls)) {
foreach ($urls as $u) {
if (preg_match('/^http/', $u)) {
$returl = $u;
} else {
$real = $url . '/' . $u;
$returl = $real;
}
crawl($returl,$callback,$depth);
}
}
}
}
?著作權(quán)歸作者所有:來自51CTO博客作者Lee_吉的原創(chuàng)作品,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的php 爬虫 类,php爬虫原型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 上海的公积金可以在外地贷款买房吗?
- 下一篇: 奥克斯沐新风1.5 p和美的风尊时尚款那