博主信息
博文 18
粉丝 0
评论 0
访问量 16534
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP返回json格式及curl抓取数据正则匹配出数据-2019-10-18
无聊了的博客
原创
994人浏览过

实例

实例

<?php
header("Content-type: text/html; charset=utf-8");
function getCurl($url){
    $url = $url;

    $ch = curl_init();  //进行初始化句柄

    curl_setopt($ch,CURLOPT_URL,$url);  // 进行URL设置
//curl_setopt($ch,CURLOPT_HEADER,1);  // 是否将头部输出
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,0);  // 尝试连接时等待的秒数
    curl_setopt($ch,CURLOPT_TIMEOUT,30); // 设置超时时间
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 结果是直接输出 还是保存到文件中
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);  //  对认证证书来源的检查
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0); // 从证书中检查SSL加密算法是否存在
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // 页面发生301,302跳转


    $data = curl_exec($ch);  //执行curl 请求url,返回数据赋值data

    if(curl_errno($ch)){   //打印错误
        echo 'curl_error'.curl_error($ch);
    }
    curl_close($ch);  // 关闭句柄
    return $data;
}
$data = getCurl("https://www.jd.com/");
// echo getCurl();
preg_match('/<div\s+id="navitems".*>\s+<div class="spacer"><\/div>(.*)<div class="spacer"><\/div>\s+<\/div>/s',$data,$list);

preg_match_all('/<li.*>\s+<a.*href="(.*)"\s+.*>(.*)\s+<\/a>\s+<\/li>/Us',$list[0],$lists);
echo '<pre>';
$listArr = [];
array_push($listArr,$lists[1],$lists[2]);
echo "1、获取京东导航列表<br>";
echo return_json(0,"获取成功",$listArr);

function return_json($code=0,$msg="",$data=[]){
    if(!empty($data)){
        return json_encode([
            "code"=>$code,
            "msg"=>$msg,
            "data"=>$data
        ],JSON_UNESCAPED_UNICODE);
    }else{
        return json_encode([
            "code"=>"-1",
            "msg"=>"获取失败",
            "data"=>$data
        ],JSON_UNESCAPED_UNICODE);
    }
}

运行实例 »

点击 "运行实例" 按钮查看在线实例



批改状态:合格

老师批语:你的作业总结呢, 是新生吗? 看一下群中作业要求
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学