• curl怎么模拟登录进行采集


    前几天公司需要模拟登录,从网上找了一下代码,结合谷歌浏览器,进行模拟账号密码进行登录

    用谷歌浏览器进行抓包操作,获得登录用参数,

    下面上干货:

    <?php

    /**
    * 主要获取登录成功的cookie
    * @param $url string 这是登录时候访问的地址
    * @param $cookie string 设置cookie保存的地址
    * @param $post array 表单的提交参数
    */
    function login_post($url, $cookie, $post) {
    $curl = curl_init();//初始化curl模块
    curl_setopt($curl, CURLOPT_URL, $url);//登录提交的地址
    curl_setopt($curl, CURLOPT_HEADER, 0);//是否显示头信息
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);//是否自动显示返回的信息
    curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie); //设置Cookie信息保存在指定的文件中
    curl_setopt($curl, CURLOPT_POST, 1);//post方式提交
    curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));//要提交的信息
    curl_setopt($curl, CURLOPT_POSTFIELDS, ($post));//要提交的信息
    curl_exec($curl);//执行cURL
    curl_close($curl);//关闭cURL资源,并且释放系统资源
    }

    /**
    * 进行获取cookie,对制定页面进行抓取
    * @param $url string 需要抓取的url地址
    * @param $cookie string url保存的地址
    * @return mixed 返回的抓取的结果
    */
    function get_content($url, $cookie) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); //读取cookie
    $rs = curl_exec($ch); //执行cURL抓取页面内容
    curl_close($ch);

    return $rs;}/** * 对抓取的源码进行去重空格去除回车等处理 * @param $content string 抓取过来的源码 * @return mixed string 返回进过处理的源码 */function p_trim_nolower_content($content){ $content=str_replace(" ","",$content); $content=str_replace(" ","",$content); $content=str_replace(" ","",$content); $content=str_replace(" ","",$content); $content=str_replace(" ","",$content); $content=str_replace(",","",$content); $content=str_replace(",","",$content); $content=str_replace("&nbsp;","",$content); $content=str_replace(";","",$content); $content=str_replace(":","",$content); return $content;}$post = array ( "username"=>"*****", "password"=>"*****", "verify"=>"******", "remenber"=>0);//登录地址$url = "https://www.zzwms.com/public/chekloginajax";//设置cookie保存路径$cookie = dirname(__FILE__) . '/yushangdai.txt';//登录后要获取信息的地址$url2 = "https://www.zzwms.com/user/ziliao.html";//模拟登录login_post($url, $cookie, $post);//获取登录页的信息$content = get_content($url2, $cookie);$content = p_trim_nolower_content($content);//删除cookie文件@ unlink($cookie);//匹配页面信息file_put_contents('datail.txt',$content);
  • 相关阅读:
    javascript 基础知识汇总(一)
    一个高效单表分页查询语句
    Linux的基本操作(一)
    Tomcat服务器配置
    C# — Winform的TextBox控件实现记忆功能
    C# — LINQ To XML示例
    C# — COM组件注册
    C# — LINQ查询的简单使用
    C# — 题库答案汇总
    C# — 题库汇总
  • 原文地址:https://www.cnblogs.com/matengfei123/p/7452797.html
Copyright © 2020-2023  润新知