PHP CURL抓取网页 simple_html_dom类

抓取网页数据后 数据录入到discuz中

<?php
include('simple_html_dom.php');

function urlText(){
    $url = 'http://www.kxt.com/data/3.html';//外汇
    $ch=curl_init();
    $timeout = 1;

    // echo CURLOPT_URL; // CURLOPT_URL: 这是你想用PHP取回的URL地址。你也可以在用curl_init()函数初始化时设置这个选项
    curl_setopt($ch, CURLOPT_URL, $url);

    // echo CURLOPT_RETURNTRANSFER; //使用PHP curl获取页面内容或提交数据,有时候希望返回的内容作为变量储存,而不是直接输出。这个时候就必需设置curl的CURLOPT_RETURNTRANSFER选项为1或true。
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    // CURLOPT_CONNECTTIMEOUT用来告诉PHP脚本在成功连接服务器前等待多久(连接成功之后就会开始缓冲输出),这个参数是为了应对目标服务器的过载,下线,或者崩溃等可能状况;
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

    // 可以将他返回的内容赋值给一个变量。只需再前面加上,curl_setopt($ch,CUROPT_RETURNTRANSFER,1);就可以将返回结果赋值给变量了。
    // 
    // 比如,$r=curl_exec($ch);这时返回的结果全部包含再$r中,想什么时候输出什么时候输出,如果不准备要他的结果,那么就将前面的1换成0
    $lines_string=curl_exec($ch);
    // print_r($lines_string);
    curl_close($ch);

    //提取table
    $dom = new simple_html_dom();
    $dom->load($lines_string);
    $ret = $dom->find(".dataList ul",1)->innertext; //数据分析
    // print_r($ret);

    return $ret;
}

$ret = urlText();
// print_r($ret); die;
$arr = explode("</li>",$ret);    //一维数组
// echo '<pre>';
// print_r($arr); die;

$list = $datatime = array();
if(!empty($arr)){
    foreach($arr as $k=>$val){
       // print_r($val);
       $list = explode("</span>",$val); //二维数组
       // echo '<pre>';
       // print_r($list);die;
       // 
       // 数组$param 下标和数据库中字段对应
       $param = array(
         'lmci_dateline' =>str_arr($list[0]),    //[lmci_dateline] => 1438358401
         'lmci_befor'=>trim(strip_tags($list[2])),
         'lmci_publish'=>trim(strip_tags($list[3])),
         'lmci_baiyin'=>trim(strip_tags($list[4])),
         'lmci_yuanyou'=>trim(strip_tags($list[5])),
         'lmci_date'=>trim(strip_tags($list[0])),    //日期 [lmci_date] => 2015年08月
        ); 
       // echo '<pre>';
       // print_r($param);
       // 
       
       if($param['lmci_dateline']!=''){     
           // 执行 插入到数据库中
            // C::t('common_lmci')->insert($param, true);
       }
       
    }  
}

function str_arr($str){
     $array = explode("年", strip_tags($str));
     // echo '<pre>';
     // print_r($array);
     $arr['year'] = $array[0];
     $arr['month'] = str_replace("月", '',$array[1]);
     echo '<pre>';
     print_r($arr);
     $data = mktime(00, 00, 01, $arr['month'] , 1, $arr['year']);
     return $data;
}
?>

 

转载于:https://www.cnblogs.com/weishang/p/4909251.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值