欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

浅析php如何实现爬取数据原理

程序员文章站 2023-11-03 20:26:04
官方网站站点:简单、 灵活、强大的php采集工具,让采集更简单一点。 简介 querylist使用jquery选择器来做采集,让你告别复杂的正则表达式;queryl...

官方网站站点:简单、 灵活、强大的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());
// 打印结果

上面的基本使用方法就是这样了 这样我们已经可以抓取到一定的数据了