链氪巴士
  1. 首页
  2. 站点导航
  3. 文章
  4. 快讯
  5. 软件
  6. 书刊
  7. 关于

QueryList:渐进式PHP采集框架

QueryList是一个基于phpQuery的PHP采集框架。它具备很多优秀的特性,如与jQuery相似的CSS3 DOM选择器和DOM操作API,有强大的HTTP请求功能,能完成模拟登录、使用代理等操作。还有通用的列表爬取程序,可处理乱码,内容过滤功能强大。具有高度模块化设计,...

访问官网 →

【Github】项目名:QueryList:渐进式PHP采集框架

项目简介

QueryList是一个简单、优雅、可扩展的PHP Web Scraper(采集器/爬虫),基于phpQuery。它有着和jQuery一样的CSS3 DOM选择器,相同的DOM操作API,具备通用列表爬取程序、强大的HTTP请求套件,能实现模拟登录、伪造浏览器、HTTP代理等复杂网络请求,还拥有乱码解决方案、强大的内容过滤功能、高度模块化设计、丰富的插件等特点。

核心技术

基于phpQuery构建,具有类似jQuery的选择器和DOM操作API。在HTTP请求方面,支持多种功能如模拟登录、使用代理等复杂操作。其插件体系能方便地扩展功能,例如多线程爬取、爬取JavaScript动态渲染页面(通过PhantomJS/headless WebKit)、图像下载到本地、模拟浏览器行为(如提交表单等)等功能都是借助插件实现。在数据处理上,可进行编码转换等操作。

实践案例

例如,在DOM遍历和操作方面,可以爬取“GitHub”所有图片链接(QueryList::get(‘https://github.com’)->find(‘img’)->attrs(‘src’););在列表爬取中,可以爬取Google搜索结果的标题和链接(通过设置规则来获取相应数据);还能进行编码转换,如在不同编码网页间获取数据。在HTTP客户端方面,能携带Cookie登录GitHub,也能使用HTTP代理进行操作。模拟登录方面,既可以通过Post方式登录某个网站然后再爬取需要登录才能访问的页面,还可以实现GitHub的登录操作判断是否登录成功。另外,通过绑定函数扩展可以自定义HTTP方法,通过插件可以进行如多线程爬取GitHub趋势等操作。

项目总结

QueryList为PHP的采集需求提供了一个功能丰富、扩展性强的框架。从DOM操作到网络请求,从简单的页面数据获取到复杂的模拟操作,都能较好地满足需求。如果你对这个项目有任何想法或者建议,欢迎在下方留言讨论。

项目地址

GitHub链接直达