浅析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快速统计某个数据库中每张表的数据量
Sep 04 PHP
php实现文件下载更能介绍
Nov 23 PHP
php采用curl实现伪造IP来源的方法
Nov 21 PHP
php常用文件操作函数汇总
Nov 22 PHP
如何把php5.3版本升级到php5.4或者php5.5
Jul 31 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
Nov 05 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
Oct 13 PHP
PHP实现小偷程序实例
Oct 31 PHP
PHP数字金额转换成中文大写显示
Jan 05 PHP
php中文语义分析实现方法示例
Sep 28 PHP
PHP7 参数处理机制修改
Mar 09 PHP
详解PHP Swoole与TCP三次握手
May 27 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
JAVA/JSP学习系列之二
2006/10/09 PHP
PHP动态图像的创建
2006/10/09 PHP
整合了前面的PHP数据库连接类~~做成一个分页类!
2006/11/25 PHP
PHP+jQuery+Ajax实现用户登录与退出
2015/04/27 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
2017/06/06 PHP
Laravel框架控制器,视图及模型操作图文详解
2019/12/04 PHP
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
2013/06/09 Javascript
javaScript函数中执行C#代码中的函数方法总结
2013/08/07 Javascript
jQuery使用元素属性attr赋值详解
2015/02/27 Javascript
js实现滚动条滚动到页面底部继续加载
2015/12/19 Javascript
angularjs定时任务的设置与清除示例
2017/06/02 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
js防刷新的倒计时代码 js倒计时代码
2017/09/06 Javascript
使用vue中的v-for遍历二维数组的方法
2018/03/07 Javascript
Vue.js中provide/inject实现响应式数据更新的方法示例
2019/10/16 Javascript
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
2019/12/07 Javascript
如何在postman中添加cookie信息步骤解析
2020/06/30 Javascript
关于vue 结合原生js 解决echarts resize问题
2020/07/26 Javascript
Python3中的列表,元组,字典,字符串相关知识小结
2017/11/10 Python
Python学习之用pygal画世界地图实例
2017/12/07 Python
Python异常对代码运行性能的影响实例解析
2018/02/08 Python
python3写的简单本地文件上传服务器实例
2018/06/04 Python
Pandas GroupBy对象 索引与迭代方法
2018/11/16 Python
了解不常见但是实用的Python技巧
2019/05/23 Python
python3 实现调用串口功能
2019/12/26 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
2020/06/10 Python
详解canvas.toDataURL()报错的解决方案全都在这了
2020/03/31 HTML / CSS
里程积分管理买卖交换平台:Points.com
2017/01/13 全球购物
心理健康心得体会
2014/01/02 职场文书
中专自我鉴定
2014/02/05 职场文书
先进集体事迹材料
2014/02/17 职场文书
中考冲刺决心书
2014/03/11 职场文书
小学数学课题方案
2014/06/15 职场文书
幼儿园教师师德表现自我评价
2015/03/05 职场文书
2015年农村党员公开承诺事项
2015/04/28 职场文书
一看就懂的MySQL的聚簇索引及聚簇索引是如何长高的
2021/05/25 MySQL