浅析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&amp;java(一)
Oct 09 PHP
php REMOTE_ADDR之获取访客IP的代码
Apr 22 PHP
php ckeditor上传图片文件名乱码解决方法
Nov 15 PHP
php+xml结合Ajax实现点赞功能完整实例
Jan 30 PHP
php给每个段落添加空格的方法
Mar 20 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
Apr 26 PHP
PHP生成短网址方法汇总
Jul 12 PHP
php微信公众账号开发之前五个坑(一)
Sep 18 PHP
基于CI框架的微信网页授权库示例
Nov 25 PHP
PHP将身份证正反面两张照片合成一张图片的代码
Apr 08 PHP
基于php编程规范(详解)
Aug 17 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
Mar 30 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
apache中为php 设置虚拟目录
2014/12/17 PHP
php+xml实现在线英文词典之添加词条的方法
2015/01/23 PHP
laravel 5.4中实现无限级分类的方法示例
2017/07/27 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
PHP的PDO大对象(LOBs)
2019/01/27 PHP
解决tp5在nginx下修改配置访问的问题
2019/10/16 PHP
动态加载js的几种方法
2006/10/23 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
JavaScript/Js脚本处理html元素的自定义属性解析(亲测兼容Firefox与IE)
2013/11/25 Javascript
Javascript发送AJAX请求实例代码
2016/08/21 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
完美解决node.js中使用https请求报CERT_UNTRUSTED的问题
2017/01/08 Javascript
微信小程序tabBar底部导航中文注解api详解
2017/08/16 Javascript
详解Vue SPA项目优化小记
2018/07/03 Javascript
vue 清空input标签 中file的值操作
2020/07/21 Javascript
[42:52]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python中用sleep()方法操作时间的教程
2015/05/22 Python
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
python Pandas 读取txt表格的实例
2018/04/29 Python
Python sklearn KFold 生成交叉验证数据集的方法
2018/12/11 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
python判断是空的实例分享
2020/07/06 Python
Flask中sqlalchemy模块的实例用法
2020/08/02 Python
python爬取音频下载的示例代码
2020/10/19 Python
Juice Beauty官网:有机美容产品,护肤与化妆品
2020/06/13 全球购物
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
大学生村官典型材料
2014/01/12 职场文书
化妆师职业生涯规划书
2014/02/16 职场文书
新闻传媒系求职信范文
2014/04/19 职场文书
工作表扬信范文
2015/01/17 职场文书
2015年保险公司工作总结
2015/04/24 职场文书
创建文明城市倡议书
2015/04/28 职场文书
php 原生分页
2021/04/01 PHP
Python开发五子棋小游戏
2022/05/02 Python