浅析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动态生成虚拟现实VRML网页
Oct 09 PHP
深入解析php模板技术原理【一】
Jan 10 PHP
PHP运行环境配置与开发环境的配置(图文教程)
Jun 04 PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
Jun 20 PHP
Windows下的PHP安装pear教程
Oct 24 PHP
PHP curl伪造IP地址和header信息代码实例
Apr 27 PHP
分享10段PHP常用代码
Nov 11 PHP
学习php设计模式 php实现合成模式(composite)
Dec 08 PHP
Zend Framework框架Smarty扩展实现方法
Mar 22 PHP
如何修改yii2.0自带的user表为其它的表
Aug 01 PHP
PHP使用PDO操作sqlite数据库应用案例
Mar 07 PHP
Laravel5.4框架中视图共享数据的方法详解
Sep 05 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
世界收音机发展史
2021/03/01 无线电
php强制文件下载而非在浏览器打开的自定义函数分享
2014/05/08 PHP
php 删除cookie方法详解
2014/12/01 PHP
PHP+Apache+Mysql环境搭建教程
2016/08/01 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
2017/10/11 PHP
php如何比较两个浮点数是否相等详解
2019/02/12 PHP
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
javascript弹出层输入框(示例代码)
2013/12/11 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
node.js中的fs.readlink方法使用说明
2014/12/17 Javascript
JS动态修改iframe内嵌网页地址的方法
2015/04/01 Javascript
简单的JS轮播图代码
2016/07/18 Javascript
react中使用swiper的具体方法
2018/05/15 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
2019/07/24 Javascript
Vue路由模块化配置的完整步骤
2019/08/14 Javascript
JavaScript实现跟随鼠标移动的盒子
2021/01/28 Javascript
python通过自定义isnumber函数判断字符串是否为数字的方法
2015/04/23 Python
在Python中使用元类的教程
2015/04/28 Python
用Python实现随机森林算法的示例
2017/08/24 Python
Python实现购物系统(示例讲解)
2017/09/13 Python
代码讲解Python对Windows服务进行监控
2018/02/11 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
python实现的按要求生成手机号功能示例
2019/10/08 Python
Python csv文件的读写操作实例详解
2019/11/19 Python
pytorch实现onehot编码转为普通label标签
2020/01/02 Python
Python基础之函数基本用法与进阶详解
2020/01/02 Python
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
极简的HTML5模版
2015/07/09 HTML / CSS
5s推行计划书
2014/05/06 职场文书
民主评议党员登记表自我评价
2014/10/20 职场文书
争先创优个人总结
2015/03/04 职场文书
酒店前台接待岗位职责
2015/04/02 职场文书
观看《信仰》心得体会
2016/01/15 职场文书
创业计划书之香辣虾火锅
2019/09/23 职场文书
Python利用机器学习算法实现垃圾邮件的识别
2021/06/28 Python