浅析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生成自己的LOG文件
Oct 09 PHP
使用sockets:从新闻组中获取文章(二)
Oct 09 PHP
关于PHP5 Session生命周期介绍
Mar 02 PHP
PHP 验证码不显示只有一个小红叉的解决方法
Sep 30 PHP
php 创建以UNIX时间戳命名的文件夹(示例代码)
Mar 08 PHP
PHP实现Javascript中的escape及unescape函数代码分享
Feb 10 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 PHP
thinkPHP5.0框架引入Traits功能实例分析
Mar 18 PHP
php cli模式下获取参数的方法
May 05 PHP
PHP用户注册邮件激活账户的实现代码
May 31 PHP
php微信公众号开发之欢迎老朋友
Oct 20 PHP
PHP中strval()函数实例用法
Jun 07 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 魔术方法详解
2014/11/11 PHP
php调整服务器时间的方法
2015/04/03 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
2017/05/23 PHP
不要在cookie中使用特殊字符的原因分析
2010/07/13 Javascript
jquery 元素相对定位代码
2010/10/15 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
JS基于面向对象实现的放烟花效果
2015/05/07 Javascript
JS实现表单中checkbox对勾选中增加边框显示效果
2015/08/21 Javascript
js显示当前日期时间和星期几
2015/10/22 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
2016/01/18 Javascript
JQuery日期插件datepicker的使用方法
2016/03/03 Javascript
JS实现的验证身份证及获取地区功能示例
2017/01/16 Javascript
three.js实现围绕某物体旋转
2017/01/25 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
vue时间格式化实例代码
2017/06/13 Javascript
解决iview多表头动态更改列元素发生的错误的方法
2018/11/02 Javascript
layer.prompt输入层的例子
2019/09/24 Javascript
javascript实现切割轮播效果
2019/11/28 Javascript
vue.js 解决v-model让select默认选中不生效的问题
2020/07/28 Javascript
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
python基础教程之实现石头剪刀布游戏示例
2014/02/11 Python
浅谈Python中copy()方法的使用
2015/05/21 Python
Python中最大最小赋值小技巧(分享)
2017/12/23 Python
python3 拼接字符串的7种方法
2018/09/12 Python
python中的unittest框架实例详解
2021/02/05 Python
仿酷狗html5手机音乐播放器主要部分代码
2013/05/15 HTML / CSS
韩国家庭购物网上商店:Nsmall
2017/05/07 全球购物
运动鞋中的劳斯莱斯:索康尼(SAUCONY)
2017/08/09 全球购物
Saks Fifth Avenue澳洲/亚太地区:萨克斯第五大道精品百货店
2019/06/09 全球购物
美国牙科折扣计划:DentalPlans.com
2019/08/26 全球购物
LUISAVIAROMA德国官网:时尚奢侈品牌购物网站
2020/11/12 全球购物
学生自我鉴定模板
2013/12/30 职场文书
董事长助理岗位职责
2014/02/18 职场文书
会议欢迎词
2015/01/23 职场文书
联欢会开场白
2015/06/01 职场文书
MySQL 数据 data 基本操作
2022/05/04 MySQL