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;
}
?>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM