zoukankan      html  css  js  c++  java
  • php curl 采集

    curl 采集五个步骤:

    1.curl_init()初始化curl
    2.curl_setopt()设置传输数据和参数
    3.curl_exec()执行传输并获取返回数据
    4.curl_errono()返回错误码
    5.curl_close()关闭curl

     get 方式:

    $curl = curl_init();
    
    $url='http://www.baidu.com';
    
    //设置请求url
    
    curl_setopt($curl, CURLOPT_URL,$url );
    
    //是否将头文件输出
    
    curl_setopt($curl, CURLOPT_HRADER,TRUE );
    
    // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
    
    curl_setopt($curl, CURLOPT_RETURNTRANSFER,TRUE );
    
    // 运行cURL,请求网页
    
    $data = curl_exec($curl);
    
    // 关闭URL请求
    curl_close($curl);

    post方式:

    $cookie_file = dirname(__FILE__) . '/cookie.txt';   
            $url = 'http://manage.wxpro.loc/admin/login';
            $get_url = 'http://manage.wxpro.loc/';
            $post_data = array('username'=>'username','password'=>'password');
            //初始化一个curl对象
            $curl = curl_init();
            //设置你需要抓取的 url
            curl_setopt($curl,CURLOPT_URL,$url);
            //设置crul参数,要求结果保存到字符串中还是输出到屏幕上
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, true );
            //post数据
            curl_setopt($curl,CURLOPT_POST,1);
            //post变量
            curl_setopt($curl,CURLOPT_POSTFIELDS,$post_data);
            //存储cookie
            curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_file);  
            //运行curl,请求网页
            $data = (array)json_decode(curl_exec($curl));
            //关闭url请求
            curl_close($curl);
    
    
            if($data['error'] ==0){
                //带着上面得到的COOKIE获取需要登录后才能查看的页面内容   
                $ch = curl_init($get_url);   
                curl_setopt($ch, CURLOPT_HEADER, 1);   
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   
                curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);   
                $contents = curl_exec($ch);   
                curl_close($ch);   
    
                var_dump($contents);
            }

    curl_setopt 参数解释:

    1.CURLOPT_URL                            需要获取的 URL 地址,也可以在curl_init() 初始化会话的时候。

    2.CURLOPT_HEADER                      TRUE 启用时会将头文件的信息作为数据流输出。FALSE 不会输出

    3.CURLOPT_RETURNTRANSFER       TRUEcurl_exec()获取的信息以字符串返回,而不是直接输出。false 直接输出

    4.CURLOPT_COOKIEJAR       调用curl_close后,保存 cookie信息的条件

    5.CURLOPT_COOKIEFILE      包含 cookie 数据的文件名,cookie 文件的格式可以是 Netscape 格式,或者只是纯 HTTP 头部风格,存入文件。如果文件名是空的,不会加载 cookie,但 cookie 的处理仍旧启用。

     

  • 相关阅读:
    并发编程(六)并发队列
    并发编程(五)原子类
    Java基础一篇过(九)面向对象之多态【向上转型与向下转型】
    ArrayList源码解析
    Redis5设计与源码分析读后感(四)压缩列表
    Redis5设计与源码分析读后感(三)跳跃表
    Python学习————CBV模型
    Python学习————Django
    Python学习————JS
    Python学习————SEO和SEC
  • 原文地址:https://www.cnblogs.com/zouzhe0/p/6245434.html
Copyright © 2011-2022 走看看