浅析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 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
Jan 30 PHP
php中定时计划任务的实现原理
Jan 08 PHP
php使用异或实现的加密解密实例
Sep 04 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
Jan 12 PHP
php采用curl模仿登录人人网发布动态的方法
Nov 07 PHP
使用PHPExcel操作Excel用法实例分析
Mar 26 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
May 19 PHP
php中array_column函数简单实现方法
Jul 11 PHP
PHP面向对象程序设计类的定义与用法简单示例
Dec 27 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 PHP
php时间戳转换代码详解
Aug 04 PHP
PHP判断是否是json字符串
Apr 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
Email+URL的判断和自动转换函数
2006/10/09 PHP
ThinkPHP实现批量删除数据的代码实例
2014/07/02 PHP
五款PHP代码重构工具推荐
2014/10/14 PHP
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
PHP微信支付开发实例
2016/06/22 PHP
Zend Framework过滤器Zend_Filter用法详解
2016/12/09 PHP
qTip 基于JQuery的Tooltip插件[兼容性好]
2010/09/01 Javascript
jQuery 翻牌或百叶窗效果(内容三秒自动切换)
2012/06/14 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
2016/06/10 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
bootstrapfileinput实现文件自动上传
2016/11/08 Javascript
Javascript blur与click冲突解决办法
2017/01/09 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
Angular 4.x 路由快速入门学习
2017/05/03 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
2018/01/03 Javascript
基于Vue+element-ui 的Table二次封装的实现
2018/07/20 Javascript
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
2019/05/16 Javascript
vue 单页应用和多页应用的优劣
2020/10/22 Javascript
Python交换变量
2008/09/06 Python
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
django云端留言板实例详解
2019/07/22 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
2020/12/08 Python
详解h5页面在不同ios设备上的问题总结
2019/03/01 HTML / CSS
TripAdvisor瑞典:全球领先的旅游网站
2017/12/11 全球购物
美术专业学生个人自我评价
2013/09/19 职场文书
销售高级职员求职信
2013/10/29 职场文书
大专生简历的自我评价
2013/11/26 职场文书
加入学生会演讲稿
2014/04/24 职场文书
优秀家长事迹材料
2014/05/17 职场文书
酒店管理专业自荐信
2014/05/23 职场文书
商铺门面租房协议书
2014/10/21 职场文书
高校自主招生校长推荐信
2015/03/23 职场文书
上班迟到检讨书
2015/05/06 职场文书
毕业设计工作总结
2015/08/14 职场文书