導航:首頁 > 編程語言 > php開源爬蟲框架

php開源爬蟲框架

發布時間:2023-04-12 01:34:15

php有哪些框架

PHP的框架有很多,這里說一部分供大家參考:

國內框架:ThinkPHP, Canphp, KYPHP, InitPHP, SpeedPHP, CdvPHP,KPHP。

國外著名框架:Zend Framework,Codelgniter,CakePHP,Symfony,Yii,Seagull,Laravel。

小型框架:E,DuoLamPHP,Difeye,GalaxixPhp,PhpPeanuts,Rong Framework,Openbiz Framework。

⑵ 爬蟲框架都有什麼

主流爬蟲框架通常由以下部分組成:



1.種子URL庫:URL用於定位互聯網中的各類資源,如最常見的網頁鏈接,還有常見的文件資源、流媒體資源等。種子URL庫作為網路爬蟲的入口,標識出爬蟲應該從何處開始運行,指明了數據來源。



2.數據下載器:針對不同的數據種類,需要不同的下載方式。主流爬蟲框架通暢提供多種數據下載器,用來下載不同的資源,如靜態網頁下載器、動態網頁下載器、FTP下載器等。



3.過濾器:對於已經爬取的URL,智能的爬蟲需要對其進行過濾,以提高爬蟲的整體效率。常用的過濾器有基於集合的過濾器、基於布隆過濾的過濾器等。



4.流程調度器:合理的調度爬取流程,也可以提高爬蟲的整體效率。在流程調度器中,通常提供深度優先爬取、廣度優先爬取、訂制爬取等爬取策略。同時提供單線程、多線程等多種爬取方式。

⑶ php爬蟲框架有哪些

我做過採集站,用的是Beanbun,支持多進程,開放性很高,自己按自己項目需求改代碼都可以的

⑷ 開源爬蟲框架各有什麼優缺點

首先爬蟲框架有三種

  1. 分布式爬蟲:Nutch

  2. JAVA單機爬蟲:Crawler4j,WebMagic,WebCollector

  3. 非JAVA單機爬蟲:scrapy

第一類:分布式爬蟲

優點:

  1. 海量URL管理

  2. 網速快

缺點:

  1. Nutch是為搜索引擎設計的爬蟲,大多數用戶是需要一個做精準數據爬取(精抽取)的爬蟲。Nutch運行的一套流程里,有三分之二是為了搜索引擎而設計的。對精抽取沒有太大的意義。

  2. 用Nutch做數據抽取,會浪費很多的時間在不必要的計算上。而且如果你試圖通過對Nutch進行二次開發,來使得它適用於精抽取的業務,基本上就要破壞Nutch的框架,把Nutch改的面目全非。

  3. Nutch依賴hadoop運行,hadoop本身會消耗很多的時間。如果集群機器數量較少,爬取速度反而不如單機爬蟲。

  4. Nutch雖然有一套插件機制,而且作為亮點宣傳。可以看到一些開源的Nutch插件,提供精抽取的功能。但是開發過Nutch插件的人都知道,Nutch的插件系統有多蹩腳。利用反射的機制來載入和調用插件,使得程序的編寫和調試都變得異常困難,更別說在上面開發一套復雜的精抽取系統了。

  5. Nutch並沒有為精抽取提供相應的插件掛載點。Nutch的插件有隻有五六個掛載點,而這五六個掛載點都是為了搜索引擎服務的,並沒有為精抽取提供掛載點。大多數Nutch的精抽取插件,都是掛載在「頁面解析」(parser)這個掛載點的,這個掛載點其實是為了解析鏈接(為後續爬取提供URL),以及為搜索引擎提供一些易抽取的網頁信息(網頁的meta信息、text)

  6. 用Nutch進行爬蟲的二次開發,爬蟲的編寫和調試所需的時間,往往是單機爬蟲所需的十倍時間不止。了解Nutch源碼的學習成本很高,何況是要讓一個團隊的人都讀懂Nutch源碼。調試過程中會出現除程序本身之外的各種問題(hadoop的問題、hbase的問題)。

  7. Nutch2的版本目前並不適合開發。官方現在穩定的Nutch版本是nutch2.2.1,但是這個版本綁定了gora-0.3。Nutch2.3之前、Nutch2.2.1之後的一個版本,這個版本在官方的SVN中不斷更新。而且非常不穩定(一直在修改)。

第二類:JAVA單機爬蟲

優點:

  1. 支持多線程。

  2. 支持代理。

  3. 能過濾重復URL的。

  4. 負責遍歷網站和下載頁面。爬js生成的信息和網頁信息抽取模塊有關,往往需要通過模擬瀏覽器(htmlunit,selenium)來完成。

缺點:

設計模式對軟體開發沒有指導性作用。用設計模式來設計爬蟲,只會使得爬蟲的設計更加臃腫。

第三類:非JAVA單機爬蟲

優點:

  1. 先說python爬蟲,python可以用30行代碼,完成JAVA

  2. 50行代碼乾的任務。python寫代碼的確快,但是在調試代碼的階段,python代碼的調試往往會耗費遠遠多於編碼階段省下的時間。

  3. 使用python開發,要保證程序的正確性和穩定性,就需要寫更多的測試模塊。當然如果爬取規模不大、爬取業務不復雜,使用scrapy這種爬蟲也是蠻不錯的,可以輕松完成爬取任務。

缺點:

  1. bug較多,不穩定。

⑸ PHP框架的PHP框架TOP10

排名前 10 並且最受歡迎的 PHP 框架(排名不分先後)。
Laravel
這款可能是現在最受歡迎的 PHP 框架,Laravel 非常強大,而且很高雅,易於學習和使用。非常值得一試!
Flight
Flight 是一個快速,簡單,可擴展的微型 PHP 框架,允許用戶快速的構建 RESTful web 應用,同樣易於學習和使用,簡單但是很強大!
Yii
Yii 是個高性能的 PHP 框架,用來開發 Web 2.0 應用程序,Yii 擁有很豐富的特性: MVC,DAO/ActiveRecord ,I8N/L10N,緩存,身份認證,基於用戶角色的訪問控制,scaffolding和測試等等。
Medoo
Medoo 是最輕的 PHP 資料庫,只包括了一個10,9kb 的文件,一個很強大的適用於簡單的 web 小應用開發的微型框架。
PHPixie
這個框架源於 Kohana 框架,是我最喜歡的框架了:兼容 MVC,能快速掌握,強大,你也應該試一試!
CodeIgniter
雖然是個比較老的框架,也快被淘汰了,但是我還是很喜歡這個強大的 MVC 框架 CI,無數次在我的項目中使用它,從來也沒對它失去信心,依然是我不變的選擇!
Kohana
Kohana 是個開源的,面向對象的 MVC web 框架,是使用 PHP5 來構建的。這個框架是由一群志願者隊伍開發的,他們致力於迅速,安全和小。
Symfony
這個框架是在 2005 年創建,是個非常強大的 MVC 框架,在企業界是非常受歡迎的。Symfony 是收到眾多的 web 應用框架啟發的:Ruby on Rails,Django 和 Spring ,它可能是最完整的 PHP 框架了。
Pop PHP
很多 PHP 框架很漂亮也很復雜,Pop 的建立是考慮到所有經驗層次的,提供了一系列可管理的學習曲線給初學者熟悉 PHP 的基礎,同時又提供了健壯和強大的功能給有經驗的 PHP 開發者。大小小於 2MB。
Phalcon
Phalcon 是一個開源的,滿棧的 PHP 框架,使用 PHP 5 類似 C 擴展的語言來編寫的高性能框架。用戶不需要會用 C 語言,Phalcon 會提供 PHP 類。Phalcon 是鬆散耦合,用戶可以隨意使用組件來創建 web 應用。

⑹ 國內的免費開源的php框架都有哪些!

國搜凱產最出名:Thinkphp
核心團隊有中國人世虧喚:Yii
PHP官方空答框架:Zend Framework
國外最出名:Laravel

⑺ 「編程工具」PHP 開源框架 MiniFramework 發布 2.0.0 版

MiniFramework 是一款遵循 Apache2 開源協議發布的,支持 MVC 和 RESTful 的超輕量級 PHP 開發框架。MiniFramework 能夠幫助開發者用最小的學習成本快速構建 Web 應用,在滿足開發者最基礎的分層開發、資料庫和緩存訪問等少量功能基礎上,做到盡可能精簡,以幫助您的應用基於框架高效運行。

MiniFramework於2019年6月11日發布2.0.0版本,變化有:

* 重構框架核心架構,按功能模塊劃分目錄和命名空間。

* 新增命名空間Mini\Base,用於框架基礎類庫。

* 新增命名空間Mini\Cache,用於緩存類庫。

* 新增命名空間Mini\Captcha,用於驗證碼等人機識別校驗類庫。

* 新增命名空間Mini\Db,用於資料庫操作類庫。

* 新增命名空間Mini\Helpers,用於全靜態助手類庫。

* 新增常量CSRF_TOKEN_ON,默認值為TRUE,用於控制防禦CSRF跨站請求偽造攻擊功能的開啟和關閉。

* 新增方法Mini\Base\Request::checkCsrfToken(),用於校驗客戶端傳入CSRF-Token。

* 新增方法Mini\Base\Request::createCsrfToken(),用於生成一個新的CSRF-Token。

* 新增方法Mini\Base\Request::getCsrfParamName(),用於獲取CSRF-Token存儲鍵名。

* 新增方法Mini\Base\Request::loadCsrfToken(),用於讀取CSRF-Token。

* 新增方法Mini\Helpers\Safe::getCsrfToken(),用於隨時獲取當前存儲於Server端的CSRF-Token。

* 改進Mini\Db類庫,支持原有工廠模式調用和直接調用MySQL類Mini\Db\Mysql兩種模式並存。

* 改進Mini\Cache類庫,支持原有工廠模式和直接調用File、Memcache、Memcached和Redis類兩種模式並存。

* 創建框架核心代碼倉庫 https://github.com/jasonweicn/miniframework-core 用於正式版本發布。

* 完善用於演示的應用示例App。

* 完善Composer配置,更好的支持在項目中通過Composer引入框架進行編碼。

* 完善代碼注釋。

MiniFramework 2.0.0 版本下載地址

zip格式:https://github.com/jasonweicn/miniframework/archive/2.0.0.zip

tar.gz格式:https://github.com/jasonweicn/miniframework/archive/2.0.0.tar.gz

MiniFramework 快速入門文檔

地址:http://www.miniframework.com/docv2/guide/

近期版本更新主要變化回顧:

1.5.2

* 新增全局函數htmlEncode(),用於轉換特殊字元為HTML實體字元,便於防範XSS攻擊。

* 更新composer.json中定義的包名,從命名上與Github的倉庫名稱保持一致。

⑻ Php經典框架之[DiliCMS]

優雅的 CodeIgniter

CodeIgniter 是一個小巧但功能強大的 PHP 框架,作為一局吵個簡單而「優雅」的工具包,它可以為開發者們建立功能完善的 Web 應用程序。

web:http://codeigniter.org.cn/

github:桐賣侍https://github.com/bcit-ci/CodeIgniter

什麼是DiliCMS?

DiliCMS是開源的,面向CodeIgniter開配搭發者的,自由靈活的後台系統,並致力於為開發者提供最簡單,易擴展,實用的後台系統。

web:http://www.dilicms.com/

感謝大神:119Gold蘇寧提供

⑼ 國內常用的PHP框架有哪些

有以下幾種:Canphp,KYPHP,SpeedPHP

⑽ PHP 微型框架有什麼好的推薦嗎

1. Cake PHP
\

CakePHP是一個擁有極大靈活性的開發,維護和部署的快速開發框架。使用非常常見的MVC和ORM設計模式,及其配置規則幫助大家簡化開發過程而無須開發過多的代碼

和ZF類似,CakePHP不要求配置。使用簡單。在IRC上擁有非常友好的社區#cakePHP,用來幫助新的用戶快速開始學習。基於MIT License,擁有最佳實踐,例如,安全,認證和session處理。擁有面對對象的方式幫助你更簡單的使用。

源代碼

2. Yii Framework
\

Yii是一個免費,開源的web應用開發框架,使用PHP5開發,幫助開發干凈,簡潔的設計並且鼓勵開發開發。它幫助流水化的開發應用,並且保證高效,可擴展和易維護。性能極大的優化,非常適合開發任何類型的產品和項目。然而,它內建復雜,企業級別的應用。你擁有完整的控制,包括表現層和持久層,符合了企業級別開發的指導方針

源代碼

3. Zend
\

Zend Framework 2 是一個使用PHP5.3+來開發web應用和服務的開源框架。使用100%的面對對象的代碼並且使用PHP5.3種的新特性,例如名字空間,late static binding,lamda function和closure。Zend framewok 2 由成功的PHP框架Zend Framework 1演變而來,而Zend framework 1擁有1500萬的下載量。Zend framework2擁有獨特的組件結構,每一個組件都設計的盡量少和其它組件產生依賴關系。 ZF2遵循了嚴格的面對對象的設計原理。這種非嚴格的組件關系結構允許開發人員使用任何他想使用的組件。

源代碼

4. Symfony
\

Smyfony是一個web應用框架,遵循了典型的MVC(model view controller)的設計結構,現在越來越受歡迎,Symfony基於MIT license,它使用一些PHP代碼類的輔助類庫得開發的過程簡單

源代碼

5. Webasyst
\

webasyst是一個開源的PHP框架用來開發平滑的多用戶web應用或者復雜的網站。和其它的框架,例如,zend和symfony,比較起來,Webasyst框架更專注,並且允許更快和更高效的創建基於商業和團隊使用的應用。這個框架提供了大量的現成的工具用來管理用戶和授權,UI創建,移動端的訪問等等

源代碼

6. Laravel
\

Laravle是一個定位於優雅簡單的PHP框架。變成不會變的苦悶。事實上,使用正確的工具絕對是讓它成為一個讓人愉悅的事情。Laravel適合所有的PHP開發人員,特別是初學者。除了完善的文章,Laravel的友好的社區一直幫助回答文檔上沒有涉及到的相關問題。使用Bundle來打包和分享代碼絕對是一個非常棒的方式

源代碼

7. Guzzle
\

Guzzle是一個幫助大家解決發送HTTP請求和創建web service 客戶端中多餘的步驟的框架。包含了用來創建強壯的web service客戶端的工具,其中: 定義輸入和輸出的服務描述API,用來遍歷分頁資源的資源迭代,高效發送大量請求等等。

源代碼

8. Phalcon PHP
\

Phalcon PHP是一個被發布成為C擴展並且提供高性能和低資源消耗的web框架。使用C書寫,平台無關。作為這樣的框架,PHP支持微軟的windows系統, GNU/linux,Max OSX,你可以下載一個適合你的系統的二進制包或者自己編譯

源代碼

9. CodeIgniter
\

Codelgiter是一個強大的PHP框架,擁有非常小的體積,針對需要使用簡單優雅的工具套件開發完整特性的web應用而開發。如果你需要處理共享主機賬號或者客戶時間有限制,並且厭倦了沒有文檔的大型框架的話,Codeignier可能非常適合你

源代碼

10. Fuel PHP
\

Fuel是一個簡單,靈活,社區驅動的PHP5.3 web框架,基於其它框架中的好的想法而開發一個框架。在Apache,,IIS和Nginx上測試過。Fuel使用另外一種方式實現,和其它框架不同,它努力成為社區驅動的框架。剛成立不到6個月,已經有30多個開發人員貢獻了代碼和文檔。

閱讀全文

與php開源爬蟲框架相關的資料

熱點內容
表格怎麼轉移到另一個文件夾 瀏覽:921
同態加密gpu 瀏覽:216
程序員告訴你網賭為什麼贏不了 瀏覽:971
程序員最帥操作 瀏覽:72
雲伺服器可以隨時更換嗎 瀏覽:489
老款車在哪裡可以買到app 瀏覽:460
程序員事業單位 瀏覽:68
特來電需要用哪個App 瀏覽:881
電腦如何共享其他伺服器 瀏覽:260
php網站性能優化 瀏覽:354
被子收納袋壓縮真空 瀏覽:30
h1z1選什麼伺服器 瀏覽:484
蘋果版三國殺怎麼在安卓上下載 瀏覽:728
安潤國際app在哪裡下載 瀏覽:438
iospdf教程下載 瀏覽:332
加密貨幣換手率300表示什麼 瀏覽:727
手機wps新建文件夾存照片 瀏覽:399
單片機rgbled 瀏覽:963
怎麼通過文件加密後發給微信好友 瀏覽:90
用虛擬機編程 瀏覽:821