600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > PHP使用curl多线程实现抓取网页功能

PHP使用curl多线程实现抓取网页功能

时间:2021-08-09 12:16:35

相关推荐

PHP使用curl多线程实现抓取网页功能

后端开发|php教程

curl,php,抓取

后端开发-php教程

本文主要和大家分享PHP使用curl多线程抓取网页功能,CURL 支持多线程的抓取网页的功能,代码例子如下。希望能帮助到大家。

7的源码,vscode页面模板插件,ubuntu机械键盘,修改tomcat内存参数,什么遍历sqlite数据库,爬虫在财务中的应用有哪些,php游戏交易源码,河北seo哪家专业,黑客网站源码,网站模板下载网站排行lzw

class HttpMulti { //curl选项 private static $options = array( CURLOPT_SSL_VERIFYPEER => 0, //不开启HTTPS请求 CURLOPT_RETURNTRANSFER => 1, //请求信息以文件流方式返回 CURLOPT_CONNECTTIMEOUT => 10, //连接超时时间 默认为10s CURLOPT_TIMEOUT => 20, //设置curl执行最大时间 CURLOPT_ENCODING => "gzip", //HTTP请求头中"Accept-Encoding"的值,为空发送所有支持的编码类型 CURLOPT_HEADER => 0, //设置为true,请求返回的文件流中就会包含response header CURLOPT_USERAGENT => Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36,CURLOPT_POST => FALSE, //默认选择GET的方式发送);public static function multiRun($urlData=array()){ if(empty($urlData)) return; $data = $curls = array(); $mh = curl_multi_init(); foreach($urlData as $k=>$val){$ch = curl_init($val); curl_setopt_array($ch, self::$options); curl_multi_add_handle($mh, $ch);$curls[$k] = $ch;}// 执行批处理句柄 self::execMultiHandle($mh); if($curls){ foreach($curls as $_k=>$v){//获得返回信息$data[$_k] = curl_multi_getcontent($v);curl_close($v);curl_multi_remove_handle($mh, $v);curl_multi_close($mh); } } return $data; }static private function execMultiHandle($mh){ if(empty($mh)) return false; do{ $mrc = curl_multi_exec($mh, $active); }while($mrc == CURLM_CALL_MULTI_PERFORM); while($active && $mrc == CURLM_OK){ if(curl_multi_select($mh) != -1){do{ $mrc = curl_multi_exec($mh, $active);}while($mrc == CURLM_CALL_MULTI_PERFORM);} } }}//测试代码$urlData = [/,/,/,/];$res = HttpMulti::multiRun($urlData);

android人脸识别解锁源码,ubuntu如何彻底卸载,对庄爬虫精准,matches php,大庆seo运营lzw

php中curl抓取网页响应数据

引流h站源码模板,xp硬盘装ubuntu,顺义爬虫动物馆,php 查询合并,SEO行业公司lzw

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。