浅析php如何实现爬取数据原理


Posted in PHP onSeptember 27, 2018

官方网站站点:简单、 灵活、强大的PHP采集工具,让采集更简单一点。

简介

QueryList使用jQuery选择器来做采集,让你告别复杂的正则表达式;QueryList具有jQuery一样的DOM操作能力、Http网络操作能力、乱码解决能力、内容过滤能力以及可扩展能力;可以轻松实现诸如:模拟登陆、伪造浏览器、HTTP代理等意复杂的网络请求;拥有丰富的插件,支持多线程采集以及使用PhantomJS采集JavaScript动态渲染的页面。

安装

通过Composer安装:

composer require jaeger/querylist

使用教程:

直接上代码:

<?php
include './vendor/autoload.php';
// 使用composer安装后引入目录
use QL\QueryList;
// 使用插件
 
$html = file_get_contents('https://www.biqudu.com/14_14778/');
// 手动获取页面
$data = QueryList::html($html);
// 得到页面内容
$data = QueryList::setHtml('https://www.biqudu.com/14_14778/');
// 等同于上面的html()
$data->rules([
  // 采集所有a标签的href属性
  'link' => ['a','href'],
  // 采集所有a标签的文本内容
  'text' => ['a','text']
  ]);
// 此处$data = 上面已经获取到网页内容之后的对象
// 设置采集规则 替代了传统正则
$data->query();
// 此处$data = 上面已经获取到网页内容之后的对象 
// query 执行操作
$data->getData();
// 此处$data = 上面已经获取到网页内容之后的对象
// 得到数据结果
$data->all();
// 此处$data = 上面已经获取到网页内容之后的对象
// 将数据转换成二维数组
print_r($data->all());
// 打印结果

上面的基本使用方法就是这样了 这样我们已经可以抓取到一定的数据了

PHP 相关文章推荐
mysql建立外键
Nov 25 PHP
一个数据采集类
Feb 14 PHP
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
Feb 05 PHP
解析smarty模板中类似for的功能实现
Jun 18 PHP
destoon文章模块调用企业会员资料的方法
Aug 22 PHP
php实现根据词频生成tag云的方法
Apr 17 PHP
php fread读取文件注意事项
Sep 24 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
Mar 04 PHP
thinkphp分页集成实例
Jul 24 PHP
laravel 框架配置404等异常页面
Jan 07 PHP
Yaf框架封装的MySQL数据库操作示例
Mar 06 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
Nov 19 PHP
Laravel源码解析之路由的使用和示例详解
Sep 27 #PHP
php实现有序数组旋转后寻找最小值方法
Sep 27 #PHP
PHP实现SMTP邮件的发送实例
Sep 27 #PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
Sep 26 #PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
Sep 26 #PHP
多个Laravel项目如何共用migrations详解
Sep 25 #PHP
php中上传文件的的解决方案
Sep 25 #PHP
You might like
PHP模块memcached使用指南
2014/12/08 PHP
php开发工具有哪五款
2015/11/09 PHP
PHPExcel笔记, mpdf导出
2016/05/03 PHP
如何打开php的gd2库
2017/02/09 PHP
php编程实现简单的网页版计算器功能示例
2017/04/26 PHP
php实现将数据做成json的格式给前端使用
2018/08/21 PHP
网络图片延迟加载实现代码 超越jquery控件
2010/03/27 Javascript
学习从实践开始之jQuery插件开发 对话框插件开发
2012/04/26 Javascript
jquery.cookie() 方法的使用(读取、写入、删除)
2013/12/05 Javascript
基于javascript实现动态时钟效果
2020/08/18 Javascript
浅谈javascript中的事件冒泡和事件捕获
2016/12/28 Javascript
vue实现todolist单页面应用
2017/04/11 Javascript
详解webpack性能优化——DLL
2017/10/20 Javascript
基于vue v-for 循环复选框-默认勾选第一个的实现方法
2018/03/03 Javascript
浅谈Koa2框架利用CORS完成跨域ajax请求
2018/03/06 Javascript
基于vue打包后字体和图片资源失效问题的解决方法
2018/03/06 Javascript
vue移动端UI框架实现QQ侧边菜单组件
2018/03/09 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
2019/02/18 Javascript
生产制造追溯系统之再说条码打印
2019/06/03 Javascript
微信小程序HTTP接口请求封装代码实例
2019/09/05 Javascript
浅析Python中signal包的使用
2015/11/13 Python
python中协程实现TCP连接的实例分析
2018/10/14 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
pycharm中选中一个单词替换所有重复单词的实现方法
2020/11/17 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
英国著名的小众美容品牌网站:Alyaka
2017/08/08 全球购物
意大利制造的西装、衬衫和针对男士量身定制的服装:Lanieri
2018/04/08 全球购物
德国户外商店:eXXpozed
2020/07/25 全球购物
销售自我评价
2013/10/22 职场文书
厂区绿化方案
2014/05/08 职场文书
金融系毕业生自荐书
2014/07/08 职场文书
幼儿园小班个人总结
2015/02/12 职场文书
羊脂球读书笔记
2015/06/30 职场文书
升学宴家长致辞
2015/07/27 职场文书
基于CSS3画一个iPhone
2021/04/21 HTML / CSS