PHP實現最簡單爬蟲原型

2022-05-15 11:38:14 字數 1438 閱讀 7686

最簡單的爬蟲模型應該是這樣的:給乙個初始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 獲取文...