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

yipeiwu_com7年前PHP代码库

官方网站站点:简单、 灵活、强大的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实现jQuery扩展函数

就是contains这个函数,书上介绍说这个函数是按照元素的内容来来筛选选择的元素集,当我运行代码的时候老是报错,后来发现是函数库里没有这个函数,于是自己写了这个函数。 代码如下: 复制...

PHP Wrapper在SAE上的应用方法

本文讲述了PHP Wrapper在SAE上的应用方法。分享给大家供大家参考,具体如下: 一、PHP Wrapper是什么 自PHP 4.3开始,PHP开始允许用户通过stream_wra...

PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】

本文实例讲述了PHP获取redis里不存在的6位随机数的方法。分享给大家供大家参考,具体如下: PHP获取6位数随机数 PHP str_shuffle() 函数 str_shuffle(...

ThinkPHP连接Oracle数据库

ThinkPHP连接Oracle数据库

一、操作环境搭建 系统:Windows7 旗舰版 64位 PHP环境:wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24 32位版 下载地...

php使用Jpgraph绘制简单X-Y坐标图的方法

php使用Jpgraph绘制简单X-Y坐标图的方法

本文实例讲述了php使用Jpgraph绘制简单X-Y坐标图的方法。分享给大家供大家参考。具体实现方法如下: <?php include ("src/jpgraph.p...