澳门新葡萄京娱乐网站-澳门新葡萄京888官网-所有平台

热门关键词: 澳门新葡萄京娱乐网站,澳门新葡萄京888官网

澳门新葡萄京娱乐网站浅析php怎样兑现爬取数据

作者: 编程知识  发布:2019-12-22

QueryList使用jQuery的点子来做访问,具备丰裕的插件。下边来演示QueryList使用PhantomJS插件抓取JS动态成立的页面内容。

官方网址站点:轻松、 灵活、强盛的PHP收集工具,让搜集更简便一点。

一、安装

简介

使用Composer安装:

QueryList使用jQuery接纳器来做访谈,让您离别复杂的正则表明式;QueryList具备jQuery相似的DOM操作本领、Http互联网操作技术、乱码化解本领、内容过滤才具以致可扩展本领;能够轻易完成诸如:模拟登录、杜撰浏览器、HTTP代理等意复杂的网络恳求;具备丰裕的插件,扶植八线程搜罗乃至使用PhantomJS搜罗JavaScript动态渲染的页面。

1.安装QueryList

安装

composer require jaeger/querylist

通过Composer安装:

GitHub:

composer require jaeger/querylist

rules([ // 采集所有a标签的href属性 'link' => ['a','href'], // 采集所有a标签的文本内容 'text' => ['a','text'] ]);// 此处$data = 上面已经获取到网页内容之后的对象// 设置采集规则 替代了传统正则$data->query();// 此处$data = 上面已经获取到网页内容之后的对象 // query 执行操作$data->getData();// 此处$data = 上面已经获取到网页内容之后的对象// 得到数据结果$data->all();// 此处$data = 上面已经获取到网页内容之后的对象// 将数据转换成二维数组print_r;// 打印结果

2.安装PhantomJS插件

地点的着力使用格局正是如此了 那样大家早已能够抓取到自然的多寡了

composer require jaeger/querylist-phantomjs

GitHub:

澳门新葡萄京娱乐网站,二、下载PhantomJS二进制文件

PhantomJS官网: ,下载对应平台的PhantomJS二进制文件。

三、插件API

QueryList browser($url,$debug = false,$commandOpt = []卡塔尔(قطر‎:使用浏览器打开连接

四、使用

以募集「新浪」手提式无线电话机版为例,「博客园」手提式有线电话机版基于React框架,内容是纯动态渲染出来的。

上面演示QueryList的PhantomJs插件用法:

use QLQueryList;use QLExtPhantomJs; $ql = QueryList::getInstance();// 安装时需要设置PhantomJS二进制文件路径$ql->use(PhantomJs::class,'/usr/local/bin/phantomjs');//or Custom function name$ql->use(PhantomJs::class,'/usr/local/bin/phantomjs','browser');

2.Example-1

赢得动态渲染的HTML:

$html = $ql->browser('https://m.toutiao.com')->getHtml;

收获具备p标签文本内容:

$data = $ql->browser('https://m.toutiao.com')->find;print_r;

Array( [0] => 自拍模式开启!国庆假期我和国旗合个影 [1] => 你旅途已开始 他们仍在自己的岗位上为你的假期保驾护航 [2] => 喜极而泣,都教授终于回到地球了! //....)

// 更多选项可以查看文档: http://phantomjs.org/api/command-line.html$ql->browser('https://m.toutiao.com',true,[ // 使用http代理 '--proxy' => '192.168.1.42:8080', '--proxy-type' => 'http'])

3.Example-2

自定义贰个参差不齐的呼吁:

$data = $ql->browser(function (JonnyWPhantomJsHttpRequestInterface $r){ $r->setMethod; $r->setUrl('https://m.toutiao.com'); $r->setTimeout; // 10 seconds $r->setDelay; // 3 seconds return $r;})->find; print_r;

张开debug情势,并从本土加载cookie文件:

$data = $ql->browser(function (JonnyWPhantomJsHttpRequestInterface $r){ $r->setMethod; $r->setUrl('https://m.toutiao.com'); $r->setTimeout; // 10 seconds $r->setDelay; // 3 seconds return $r;},true,[ '--cookies-file' => '/path/to/cookies.txt'])->rules([ 'title' => ['p','text'], 'link' => ['a','href']])->query; print_r;

本文由澳门新葡萄京娱乐网站发布于编程知识,转载请注明出处:澳门新葡萄京娱乐网站浅析php怎样兑现爬取数据

关键词: