php爬虫框架crawler
项目简介:
github地址:https://github.com/LL233/crawler
这是一个基于php开发的爬虫框架
只需要在配置文件中写好对应参数,框架即可运行
在app文件中是使用者开发的文件
使用者的开发主要是使用hooks
程序每运行到一个地方就会触发相应的钩子,并传递给钩子函数相应的参数,使用者只要在自己的文件中写好对应的钩子函数处理即可
例如,在这个页面内容过滤完之后,会触发钩子filter_end,会传递三个参数给钩子函数,第一个参数是level,当前的层级,第二个参数data,根据用户定义的过滤规则过滤出来的数据,第三个参数url,根据用户自定义的url过滤规则过滤出来的url数据
所有钩子函数:
start
没有任何参数传递
这个钩子函数是在程序一开始执行的
filter_start
第一个参数是level,当前的层级;第二个参数是url,进入这个页面的url;第三个参数是content,这个页面的内容
这个钩子函数是在获取完这个url之后,执行过滤程序之前执行的
filter_end
第一个参数是level,当前的层级;第二个参数是data,根据用户定义的过滤规则过滤出来的数据;第三个参数url,根据用户定义的url过滤规则过滤出来的url数据
这个钩子函数是在执行完过滤程序后执行的
invalid_url
第一个参数是url,当前的链接地址
这个钩子函数是在程序打开了一个无效的url时执行的
end
没有任何参数传递
这个钩子函数是在程序执行完毕时执行的
用户使用简介:
在config文件中,app_name是用户开发文件的名称,即app目录下的Index文件,默认不填写即为index文件
hook_prefix是用户文件中钩子函数的前缀,默认的为“hook_”,在文件中写钩子函数时要加上前缀,如“hook_start”
使用者自定义的类名要和文件名一致(首字母都需大写)
使用者自定义的类需要继承Capp类,也要在构造函数中继承父类的构造函数
在使用者自定义的类中可以通过“$this->crawler”来访问crawler这一核心对象,从而操作其它核心类库来完成开发
目前这个框架还不是很完善,还有许多问题需要解决,欢迎大家提成错误和问题或建议,一定虚心接受
源码中写有大量注释,方便大家阅读源码o(∩_∩)o
- 上一篇: vue 学习心得
- 下一篇: ThinkPHP字符截取函数msubstr()