最簡單的爬蟲模型應該是這樣的:給乙個初始url,爬蟲把內容扒下拉,找頁面裡的url,在以這些url為起點,開始爬。
下面是乙個最簡單的php實現的爬蟲模型。
<?php
/*** 爬蟲程式 -- 原型
** bookmoth 2009-02-21
*//**
* 從給定的url獲取html內容
** @param string $url
* @return string
*/function _geturlcontent($url)else
}/**
* 從html內容中篩選鏈結
** @param string $web_content
* @return array
*/function _filterurl($web_content)([^>\'\"\ ]*).*?>/';
$result = preg_match_all($reg_tag_a,$web_content,$match_result);
if($result)
}/**
* 修正相對路徑
** @param string $base_url
* @param array $url_list
* @return array
*/function _reviseurl($base_url,$url_list)
$base_url .= $url_info["host"];
if($url_info["port"])
$base_url .= $url_info["path"];
print_r($base_url);
if(is_array($url_list))else
}return $result;
}else
}/**
* 爬蟲
** @param string $url
* @return array
*/function crawler($url)else
}else
}/**
* 測試用主程式**/
function main()
}}while ($current_url = fgets($fp_gets,1024));//不斷獲得url
}main();
?>
當然這只爬蟲還需要進行下面的進化才可以:
1、拼接更準確的url鏈結。現在的鏈結有可能是格式錯誤的。
2、能夠去掉重複的url鏈結。現在的爬蟲會做非常多非常多的重複工作。
3、避免爬蟲怕成環路,乙個永遠右轉的車,只能是300內環,它只會跑在三環路上,去不了別的地方。
4、多執行緒或者多程序。因為php沒有執行緒的概念,所以可能需要shell這樣的東西來模擬了。
我的**店,可以進去逛逛噢:
PHP實現最簡單爬蟲原型
最簡單的爬蟲模型應該是這樣的 給乙個初始url,爬蟲把內容扒下拉,找頁面裡的url,在以這些url為起點,開始爬。下面是乙個最簡單的php實現的爬蟲模型。當然這只爬蟲還需要進行下面的進化才可以 1 拼接更準確的url鏈結。現在的鏈結有可能是格式錯誤的。2 能夠去掉重複的url鏈結。現在的爬蟲會做非常...
最簡單的php爬蟲庫 QueryList
1.簡單的爬取某 creeper.html creeper images.html 爬蟲 use cmf controller homebasecontroller use ql querylist class creepercontroller extends homebasecontroller...
php實現簡單爬蟲的開發
有時候因為工作 自身的需求,我們都會去瀏覽不同 去獲取我們需要的資料,於是爬蟲應運而生,下面是我在開發乙個簡單爬蟲的經過與遇到的問題。按照個人習慣,我首先程式設計客棧要寫乙個介面,理清下思路。1 去不同 那麼我們需要乙個url輸入框。2 找特定關鍵字的文章。那麼我們需要乙個文章標題輸入框。3 獲取文...