首页 后端开发 php教程 PHP CURL 同步/异步 并发 采摘 爬行

PHP CURL 同步/异步 并发 采摘 爬行

Jun 13, 2016 am 11:52 AM
content gt nbsp quot this

PHP CURL 同步/异步 并发 采集 爬行

在上一篇文章基础上对代码进行了整理,并合并进同步采集的方法

类中用到了另一个 Proxy代理类,请自行实现, 如果不需要使用代理,请去除相关代码

同步调用示意

        $this->catcher=new LCatcher(10,20,false,true,true);

        list($code,$content)=$this->catcher->get($url);

并发采集示意

         $this->catch=new LCatcher(10,$asynNum,true);

         $this->catch->pushJob($this,$url,9);


完整代码如下

/**
 * 并发异步采集者
 */
class LCatcher {
    //以下是需要配置的运行参数
    public $timeout=10;    //默认的超时设置 10 秒
    public $useProxy=true;    //是否使用代理服务器
    public $concurrentNum=20;        //并发数量
    public $autoUserAgent=true;        //是否自动更换UserAgent
    public $autoFollow=false; //是否自动301/302跳转
    
    /**
     * 创建一个采集者
     * @param number $timeout 超时
     * @param number $concurrentNum 并发数
     * @param string $useProxy 是否使用代理
     */
    public function __construct($timeout=10,$concurrentNum=20,$useProxy=true,$autoFollow=false,$autoUserAgent=true){
        $this->timeout=$timeout;
        $this->concurrentNum=$concurrentNum;
        $this->useProxy=$useProxy;
        $this->autoFollow=$autoFollow;
        $this->autoUserAgent=$autoUserAgent;
    }
    
    /**
     * 串行采集
     *
     * @param unknown $url
     *            要采集的地址
     * @param string $must
     *            是否肯定对方一定存在 (200,且有

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

解决方法:您的组织要求您更改 PIN 码 解决方法:您的组织要求您更改 PIN 码 Oct 04, 2023 pm 05:45 PM

解决方法:您的组织要求您更改 PIN 码

Windows 11 上调整窗口边框设置的方法:更改颜色和大小 Windows 11 上调整窗口边框设置的方法:更改颜色和大小 Sep 22, 2023 am 11:37 AM

Windows 11 上调整窗口边框设置的方法:更改颜色和大小

如何在 Windows 11 上更改标题栏颜色? 如何在 Windows 11 上更改标题栏颜色? Sep 14, 2023 pm 03:33 PM

如何在 Windows 11 上更改标题栏颜色?

OOBELANGUAGE错误Windows 11 / 10修复中出现问题的问题 OOBELANGUAGE错误Windows 11 / 10修复中出现问题的问题 Jul 16, 2023 pm 03:29 PM

OOBELANGUAGE错误Windows 11 / 10修复中出现问题的问题

Windows 11 上启用或禁用任务栏缩略图预览的方法 Windows 11 上启用或禁用任务栏缩略图预览的方法 Sep 15, 2023 pm 03:57 PM

Windows 11 上启用或禁用任务栏缩略图预览的方法

华为GT3 Pro和GT4的差异是什么? 华为GT3 Pro和GT4的差异是什么? Dec 29, 2023 pm 02:27 PM

华为GT3 Pro和GT4的差异是什么?

Windows 11 上的显示缩放比例调整指南 Windows 11 上的显示缩放比例调整指南 Sep 19, 2023 pm 06:45 PM

Windows 11 上的显示缩放比例调整指南

10种在 Windows 11 上调整亮度的方法 10种在 Windows 11 上调整亮度的方法 Dec 18, 2023 pm 02:21 PM

10种在 Windows 11 上调整亮度的方法

See all articles