浅析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 相关文章推荐
一步一步学习PHP(7) php 字符串相关应用
Mar 05 PHP
Memcached常用命令以及使用说明详解
Jun 27 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
May 04 PHP
一个PHP的ZIP压缩类分享
May 04 PHP
php结合ajax实现赞、顶、踩功能实例
May 12 PHP
php实现的日历程序
Jun 18 PHP
PHP微信开发之模板消息回复
Jun 24 PHP
PHP错误和异常处理功能模块示例
Nov 12 PHP
php中实现字符串翻转的方法
Feb 22 PHP
php数据序列化测试实例详解
Aug 12 PHP
解决windows上php xdebug 无法调试的问题
Feb 19 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
Dec 01 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
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
2014/05/12 PHP
基于php实现七牛抓取远程图片
2015/12/01 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
根据鼠标的位置动态的控制层的位置
2009/11/24 Javascript
jquery单行文字向上滚动效果的实现代码
2014/09/05 Javascript
JavaScript 异常处理 详解
2015/02/06 Javascript
Jquery实现textarea根据文本内容自适应高度
2015/04/03 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
2015/06/26 Javascript
javascript匀速运动实现方法分析
2016/01/08 Javascript
jQuery的框架介绍
2016/05/11 Javascript
省市联动效果的简单实现代码(推荐)
2016/06/06 Javascript
Javascript之面向对象--封装
2016/12/02 Javascript
javascript验证香港身份证的格式或真实性
2017/02/07 Javascript
Angular.js自定义指令学习笔记实例
2017/02/24 Javascript
微信小程序商品详情页规格属性选择示例代码
2017/10/30 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
async/await地狱该如何避免详解
2018/05/10 Javascript
详解js删除数组中的指定元素
2018/10/31 Javascript
React+Antd+Redux实现待办事件的方法
2019/03/14 Javascript
如何在vue中使用jointjs过程解析
2020/05/29 Javascript
python下函数参数的传递(参数带星号的说明)
2010/09/19 Python
Python pandas.DataFrame 找出有空值的行
2019/09/09 Python
快速解决jupyter启动卡死的问题
2020/04/10 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
2020/06/02 Python
波兰在线儿童和婴儿用品零售商:pinkorblue
2019/06/29 全球购物
美国家用和厨房电器销售网站:Appliances Connection
2020/01/24 全球购物
会计电算一体化个人简历的自我评价
2013/10/15 职场文书
国际会议邀请函范文
2014/01/16 职场文书
销售经理工作职责
2014/02/03 职场文书
学生检讨书范文
2014/10/30 职场文书
2014年文艺部工作总结
2014/11/17 职场文书
会计专业自荐信范文
2015/03/05 职场文书
入党培养人考察意见
2015/06/08 职场文书
解决linux下redis数据库overcommit_memory问题
2022/02/24 Redis