(phpstudy)CurlMulti:queryList批量采集图片链接到数据库

tp5 利用QueryList + PhantomJS实现抓取淘宝京东天猫商品数据 tp5 利用QueryList + PhantomJS实现抓取淘宝京东天猫商品数据 商品图片,商品详情,规格,参数,价格都能完美获取 立即下载

呃,现阶段还不会使用多线程里配合图片的直接下载 -2018-12-23 11:29:45
另,虽然采集到了图片(也就是说改改就能采集到文章内容),但是呢离自己想要的文章变形还有不小的差距.就当技术储备了吧. ̄へ ̄


之前遇到的问题

CurlMulti 在QueryList中找不到
AbsoluteUrl也无法使用

使用composer安装

composer require jaeger/querylist-curl-multi
composer require jaeger/querylist-absolute-url

下面是完整的代码

<?php
namespace app\index\controller;
use \app\index\controller\User;
use \app\admin\controller\Index as AdminIndex;
use QL\QueryList;
use QL\Ext\AbsoluteUrl;
use QL\Ext\CurlMulti;

use think\Db;
use think\Controller;
class Index extends Controller
{
    public function index()
    {
        $DB=new Db;
        // $data = $DB::table('gxxl')->select();
        $data = Db::query("select * from imgmsic");
        // 分配数据
        $this->assign("data",$data);
        return view();
    }
    public function gxxlImg()
    {
        // 注册插件
        $ql = QueryList::use([
            AbsoluteUrl::class, // 转换URL相对路径到绝对路径
            CurlMulti::class    // Curl多线程采集
        ]);
        
        // 获取文章列表链接集合,使用AbsoluteUrl插件转换URL相对路径到绝对路径.
        $urls = $ql->get('http://baidu.com/tupian/list.html',[
            'param1' => 'testvalue',
            'params2' => 'somevalue'
        ],[
            'headers' => [
                'Referer' => 'http://baidu.com/',
                'User-Agent' => 'testing/1.0',
                'Accept'     => 'application/json',
                'X-Foo'      => ['Bar', 'Baz'],
                'Cookie'    => 'abc=111;xxx=222'
            ]
        ])->absoluteUrl('http://baidu.com/tupian/list.html')->find('.hy-video-list .clearfix a')->attrs('href')->all();
        
        
        //使用CurlMulti多线程插件采集文档内容
        $ql->rules([ // 设置采集规则
            // 'title'   => ['.head h3', 'text'],
            'imgArr' => ['#playlist .playlist', 'html'],
            // 'imgArr' => array('#playlist4 img','originalsrc')
            ])
            // 设置采集任务
            ->curlMulti($urls)
            // 每个任务成功完成调用此回调
            ->success(function (QueryList $ql, CurlMulti $curl, $r) {
                echo "Current url:{$r['info']['url']} \r\n";
                $data = $ql->query()->getData()->all();
                $durl = QueryList::html($data[0]['imgArr'])->find('img')->map(function($a){
                    $src= $a->attr('originalsrc');
                    $title= $a->attr('title');
                    // 直接下载不会,只好写入到数据库中,再通过php curl下载吧
                    Db::execute("insert into imgmsic value(null,?,?)",[$src,$title]);
                    return $a->attr('originalsrc');
                });
                dump($durl);
                dump($data);
            })
            // 开始执行多线程采集
            ->start([
                // 最大并发数
                'maxThread' => 10,
                // 错误重试次数
                'maxTry'    => 3
            ]);
    }
 }
基于think PHP5 .0 vue2.0 QueryList爬虫的淘宝客平台 1.环境是php5.6和MySQL5.4 及nginx1.9 ,其他环境下请自己修改代码 2.安装,文件里有数据库文件,先导入自己的数据库,配置数据库文件, 3.pc版是基于mvc架构,wap版式API的前后端分离。 立即下载

相关推荐

强大采集QueryList源码

强大采集QueryList源码,php采集正则采集QueryList采集

querylist V4 图片下载

querylist V4 图片下载 采集代码: //采集并下载ZOL桌面壁纸. 扩展一个图片下载功能. 参1:$path 本地保存路径 ql=QueryList::bind(′downloadImage′,function(ql = QueryList::bind('downloadImage',function (ql=QueryList::bind(′downloadImage′,function(path){ $data = this−>getData()−>map(function(th

dragoonl的博客 684

芯片设计流程中的def文件

在实际的DEF文件中,每个部分都包含了与实际设计相关的详细信息,这个模板只展示了每个部分的基本结构。在实际应用中,DEF文件通常由EDA(电子设计自动化)工具在完成布局(Placement)和布线(Routing)步骤后自动生成,在集成电路设计中,DEF(Design Exchange Format)文件的模板具体内容会依设计的复杂性和特定需求而变化。简而言之,LEF文件提供了单元的物理特性和规则,而DEF文件使用这些规则来确定单元。)文件描述了特定设计中所有物理元素的精确放置和连线信息。

qq_36045093的博客 4863

python实现批量下载网页图片

python小案例集合

weixin_42822426的博客 470

语义分割系列7-Attention Unet(pytorch实现)

本文介绍了AttentionUnet模型和其主要中心思想,并在pytorch框架上构建了Attention Unet模型,构建了Attention gate模块,在数据集Camvid上进行复现。

yumaomi的博客 2万+

MIMIC-IV数据库中患者院内死亡的单因素生存分析

目的 由易到难,对mimic-iv的查询进行实际操作,体现先前文章中提到的mimic-iv数据查询的规律。 数据分析计划 死亡,是重症患者最重要的结局指标,在MIMIC数据库中收录了院内死亡的数据,以及进出ICU的时间(和进出医院的时间),所以我们可以获得是否死亡,以及从入ICU(或入院)到死亡发生之间的时间,有了这两个指标,我们可以通过Cox单因素(参数和非参数)模型来观察ICU(和医院)内死亡的趋势,以及某个变量(比如,性别和种族等)对死亡趋势的影响,以为后续的分析奠定基础。 数据的获取 我们需要数个变

skyskytotop的博客 3185

用 tensorflow.js 做了一个动漫分类的功能(一)

内容和资源的采集,反手就是某虫了。在网络上,经过近几年的营销渲染,可能首选是用 Python 做脚本。而这次是用 PHP 的 QueryList 来做采集,下面也就是采集的编码过程和踩坑解决方法,最后再对采集图片进行标注和训练。

北桥苏的博客 1128

算法笔记(胡凡)学习笔记@Kaysen

本文旨在记录算法笔记学习过程中的收获和一些知识点,部分易错知识点只针对个人而言,CCF-CSP考试冲鸭!!! Chapter 2 C/C++快速入门(易错知识点) 2.1 基本数据类型 变量定义注意区分大小写。 一、整型 整型int,32bit(4Byte),取值范围是,绝对值在范围内的整数都可以定义成int。 长整型long long,64bit(8Byte),取值范围是,绝对值超过的整数就需要用long long存储。 ...

Kaysen_Zhao的博客 2899

抓取网页工具querylist的使用简介

querylist的使用 首先,querylist是时下php最先进的dom采集包之一,而且是国人写的,中文文档很好,如果想用好,应该直接看一遍官方文档 我这里简单记录下我对querylisty使用的理解。目标是用一篇文章解释如何使用。方便我超过2个月后回忆.... 操作流程 主要分为三步 载入资源 筛选目标 读取结果 举例: <?php require 'QueryList/vendo...

weixin_33805743的博客 718

TMS320F280039 CMD文件配置避坑指南:从.map文件看懂内存分配与溢出排查

本文详细解析了TMS320F280039芯片的CMD文件配置问题,通过.map文件分析内存分配与溢出排查。文章提供了实用的诊断技巧和解决方案,帮助开发者有效应对段溢出、地址重叠和栈堆冲突等常见问题,优化DSP程序的内存管理。

weixin_29168813的博客 446

五万字解析【ROOT 入门指南】

本文是cern官方root入门指南的初步翻译版,还在进一步校对中....

荷塘阅色 208

QueryList 4.0 简洁、优雅、可扩展的PHP采集工具(爬虫)

QueryList 简介 QueryList是一套简洁、优雅、可扩展的PHP采集工具(爬虫),基于phpQuery。 特性 拥有与jQuery完全相同的CSS3 DOM选择器 拥有与jQuery完全相同的DOM操作API 拥有通用的列表采集方案 拥有强大的HTTP请求套件,轻松实现如:模拟登陆、伪造浏览器、HTTP代理等意复杂的网络请...

weixin_34404393的博客 1117

【YOLOv8改进 - 注意力机制】GAM(Global Attention Mechanism):全局注意力机制,减少信息损失并放大全局维度交互特征

为了提高各种计算机视觉任务的性能,研究了多种注意力机制。然而,现有方法忽视了保留通道和空间两个方面信息的重要性,以增强跨维度的交互。因此,我们提出了一种全局注意力机制,通过减少信息损失和放大全局交互表示来提升深度神经网络的性能。我们引入了带有多层感知器的3D排列用于通道注意力,同时结合了卷积空间注意力子模块。在CIFAR-100和ImageNet-1K上的图像分类任务评估中,表明我们的方法在ResNet和轻量级MobileNet上稳定地优于几种最新的注意力机制。

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 1158

PHP 使用 QueryList + Redis 批量下载壁纸

完整代码:https://github.com/her-cat/wallpaper_crawler 页面分析 壁纸站地址:http://www.huanse.net/ 打开网站首页,通过审查元素找到详情页面和略缩图的地址(下图红框部分)。 - 详情页面地址: ./wallpaper-6873.html - 略缩图地址:./uploads/thumb/thumb-6873.jpg ...

她和她的猫的博客 1271

基石篇:多模态数据工程导论与核心概念

多模态数据工程不是写Python脚本处理几张图片,而是设计并构建一套系统,来规模化地生产高质量、可追溯、符合合规要求的模型就绪数据。本文将为你建立正确的数据工程思维框架,明确其在多模态AI生态中的战略地位,并为后续的深入学习奠定坚实基础。

jiaquan3011的博客 629

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

QueryList 配置curl参数 的文档位置 QueryList抓取https 终于找到了

需要设置ssl证书,或者不验证证书,例: $ql = QueryList::get('https://...',[],['verify' => false]);设置这个 'verify'=>false , 所以curl的其他参数就在这里配置即可 文档在 https://guzzle-cn.readthedocs.io/zh_CN/latest/request-optio...

weixin_30445169的博客 1285

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

thinkphp5使用querylist采集图片示例

首先composer引入querylist composer require jaeger/querylist 注意需要php7.0以上版本 <?php namespace app\index\controller; use think\Controller; use QL\QueryList; class Index { ...

dk2319193的博客 1052

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

tp5使用curl特性进行定时多线程爬虫(或任务),使用redis队列

利用php-(开源工具)实现爬虫 流程说明 -从数据库或者循环构建爬虫的url(包括分页参数) -分段取出 -2 Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 ...

HD2killers的博客 3259

Curl多线程|CurlMulti

今天发现了一个多线程的curl工具,竟然还是国内自己开发的,地址在这里:http://blog.phpdr.net/curl多线程.html,目前还在持续更新,所以打算试试: 工作中经常需要采集一些内容,所以深入研究了一下PHP CURL多线程,不得不说这个扩展很变态。经过几十次的修改终于写出一个完美的CURL类,有多厉害用“终极”二字形容也不为过。PHP文档

qdujunjie的专栏 7329

Jquerylist采集不到图片的问题

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...

wenf100的博客 550

QueryList是一套简洁、优雅的PHP采集工具(爬虫),基于phpQuery。

QueryList是一套简洁、优雅的PHP采集工具(爬虫),基于phpQuery。 特性: 拥有与jQuery完全相同的CSS3 DOM选择器 拥有与jQuery完全相同的DOM操作API 拥有通用的列表采集方案 拥有强大的HTTP请求套件,轻松实现如:模拟登陆、伪造浏览器、HTTP代理等意复杂的网络请求 拥有乱码解决方案 拥有强大的内容过滤功能,可使

小白成神路 4499

jquery实现下载图片

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"...

岁月如歌去,十年弹指间 1万+

简单的使用QueryList爬取数据

最近在整理做过的项目时,发现了曾经的一个好玩的东西,长时间不用都快忘记生疏了,在这里做下总结。在之前的时间里,流行用python写爬虫脚本,我学的是php于是经过学习也用php写了个简单的爬虫,用于抓取数据。首先:用到的技术:QueryList (相关文档:https://doc.querylist.cc/)Medoo(轻量级php数据库框架:https://medoo.lvtao.net/)jQ...

大红鹰王狗蛋的IT之路 1万+

php中curl同时发送多个请求curl_multi函数集的用法

一、引言这段时间比较忙,已经很久没有写博客了。今天我就来聊聊我关于curl_multi_*函数集的使用心得,关于http请求的问题。当我们用户php发起一个http请求的时候。我们会首先想到用什么?没错,我们会创建curl来请求。当我们在一次执行中需要发起多个http请求呢。这简单,对每一个URL发起一次url请求。请求玩第1个再请求第2个….这就完了?哪我们还说个啥。官网链接: http://ph

xueling022的专栏 1万+

PHP并行编程探索之二(curl_multi函数组)

使用pcntl扩展实现的多进程终究只能运行在命令行模式,而我们接触的基本上都处在http请求模式下,那就真没有解决办法了么,有人说用curl,自身请求自身,好我们用curl看一下是不是有用:        为方便访问和调试,我使用的是CI框架,直接在控制器里操作。 1. 使用curl (1) 首先我们添加一个耗时计算函数 function microtime_float() {

不忘初心,才能始终 4121

爱壁纸的简单批量下载--Python

偶尔发现的爱壁纸壁纸批量下载url,但是下下来的壁纸重复的挺多的,仅供娱乐,不喜勿喷。 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Software: PyCharmimport requests,time # from random import randrange # # data = { # # } photo_id = 10002048

qq_35317984的博客 1051
上一篇: (phpstudy下)queryList 安装报错:不支持openssl的解决方法
下一篇: elementUI:关于elInput框和elSelect宽宽度不统一的设置技巧
AlexKain
博客等级 码龄8年 35粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值