导航:首页 > 编程语言 > 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开源爬虫框架相关的资料

热点内容
h1z1选什么服务器 浏览:484
苹果版三国杀怎么在安卓上下载 浏览:728
安润国际app在哪里下载 浏览:438
iospdf教程下载 浏览:332
加密货币换手率300表示什么 浏览:727
手机wps新建文件夹存照片 浏览:399
单片机rgbled 浏览:963
怎么通过文件加密后发给微信好友 浏览:90
用虚拟机编程 浏览:821
公司代理服务器有什么要求 浏览:244
服务器和数据库怎么联系 浏览:633
hbase配置压缩 浏览:918
java000 浏览:479
华为手机文件夹的字体颜色 浏览:636
安卓怎么换相机 浏览:935
华为相片文件夹怎么删除重复照片 浏览:316
plc编程视频教程大全 浏览:940
直播用哪个app播放背景音乐 浏览:852
点歌机系统app在哪里下载 浏览:612
javadate类型转换string 浏览:697