浅析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 相关文章推荐
xajax写的留言本
Nov 25 PHP
分享PHP header函数使用教程
Sep 05 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
May 19 PHP
php和editplus正则表达式去除空白行
Apr 17 PHP
PHP使用socket发送HTTP请求的方法
Feb 14 PHP
用PHP写的一个冒泡排序法的函数简单实例
May 26 PHP
php利用gd库为图片添加水印
Nov 09 PHP
PHP实现支付宝即时到账功能
Dec 21 PHP
Laravel实现定时任务的示例代码
Aug 10 PHP
PDO::errorCode讲解
Jan 28 PHP
php链式操作的实现方式分析
Aug 12 PHP
详解Laravel制作API接口
May 31 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中var_export与var_dump的区别分析
2010/08/21 PHP
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
PHP页面中文乱码分析
2013/10/29 PHP
Yii实现多按钮保存与提交的方法
2014/12/03 PHP
php微信公众号开发之答题连闯三关
2018/10/20 PHP
jquerymobile checkbox及时刷新才能获取其准确值
2012/04/14 Javascript
js中prototype用法详细介绍
2013/11/14 Javascript
禁止空格提交表单的js代码
2013/11/17 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
浅析JS原型继承与类的继承
2016/04/07 Javascript
详解Angular的数据显示优化处理
2016/12/26 Javascript
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
2017/04/13 jQuery
深入理解Angular4中的依赖注入
2017/06/07 Javascript
bootstrap多层模态框滚动条消失的问题
2017/07/21 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
2017/08/25 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
2019/06/12 jQuery
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
[06:30]DOTA2英雄梦之声_第15期_死亡先知
2014/06/21 DOTA
[01:10]DOTA2亚洲邀请赛 征战号角响彻全场
2015/01/06 DOTA
Python3中多线程编程的队列运作示例
2015/04/16 Python
简单介绍Python中的JSON使用
2015/04/28 Python
在Python中使用gRPC的方法示例
2018/08/08 Python
python plotly画柱状图代码实例
2019/12/13 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
python音频处理的示例详解
2020/12/23 Python
html5 worker 实例(一) 为什么测试不到效果
2013/06/24 HTML / CSS
英国第一豪华护肤品牌:Elemis
2017/10/12 全球购物
Hobbs官方网站:英国奢华女性时尚服装
2020/02/22 全球购物
请解释virtual关键字的含义
2015/06/17 面试题
《油菜花开了》教学反思
2014/02/22 职场文书
经理秘书求职自荐信范文
2014/03/23 职场文书
卖房协议书
2014/04/11 职场文书
党的群众路线教育实践活动通讯稿
2014/09/10 职场文书
单位工作证明范文
2014/09/14 职场文书
员工福利申请报告
2015/05/15 职场文书
早恋主题班会
2015/08/14 职场文书