现在的位置: 首页 > 综合 > 正文

一段简单的采集程序。模拟登陆,采集页面

2018年05月21日 ⁄ 综合 ⁄ 共 1348字 ⁄ 字号 评论关闭

<?php
    header("Content-type: text/html; charset=utf-8");
    // 在此完成函数填写
    function getDevexprRegtime()
    {

        $url1 = "http://****.com/login";//登陆页面的地址
        $cookie_file = tempnam('./temp','cookie'); //创建cookie临时目录
        $data = "uname=uname&passwd=uname&act=login_submit&"; //查看页面源码,找到用户名和密码分别对应的name,以及可能hidden的值
    
        $ch = curl_init($url1); //初始化
        curl_setopt($ch,CURLOPT_HEADER,0);//将头文件不以数据流的形式输出
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//将curl_exec获取的信息以文件流的形式返回,不输出
        curl_setopt($ch,CURLOPT_POST,1);//以post形式提交
        curl_setopt($ch,CURLOPT_POSTFIELDS,$data);//post的数据
        curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file);//将cookie的值保存在临时文件夹内

        curl_exec($ch);//执行
        curl_close($ch);
        
        $url2 = "http:/****.com/**";//前面的程序,已经登陆进去了,现在我们开始跳转到我们想要采集的页面
        $ch = curl_init($url2);
        curl_setopt($ch,CURLOPT_HEADER,0);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
        curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_file);//从临时文件夹中读取cookie
    
        $contents = curl_exec($ch);//这个$contents就是我们采集到的页面源码。echo $contents会输出一个我们想要的页面。
        curl_close($ch);

        unlink($cookie_file);

       preg_match('/\d{4}-\d{1,2}-\d{1,2}\s*\d{2}:\d{2}:\d{2}/',$contents,$arr);//正则匹配,找到我们想要的字符串。这里我匹配的是 YYYY-MM-DD HH:ii:ss格式的数据

        #var_dump($arr);

        $result = $arr[0];
        return $result;
    }

        $result = getDevexprRegtime();
      echo "注册时间为:".$result;
?>

抱歉!评论已关闭.