PHP - 透過內建curl擷取內容
首先先介紹會使用到的function $ch = curl_init(); 透過curl_init()來取得一個curl的resource,來供後面的function使用。 curl_setopt($ch,CURLOPT_URL,"http://www.example.com"); 透過curl_setopt()來設置如目標網址等操作。 bool curl_setopt ( resource $ch , int $option , mixed $value ) curl_setopt()接受三個參數 1.第一個參數為resource(透過curl_init()所取得) 2.第二個參數為選項 這裡介紹幾個今天用到的選項,想看所有的選項,可以到PHP Manual中查看。 CURLOPT_URL 設定欲抓取的網址 CURLOPT_HEADER 設定是否輸出HTTP頭訊息(0為不輸出、1為輸出) CURLOPT_RETURNTRANSFER 設定是否將抓取的資料返回,而不是直接輸出(0為直接輸出、1為返回) 3.第三個為根據選項所設定之值。 $str = curl_exec($ch); 透過curl_exec()將結果輸出,成功返回True,失敗返回False。 但如果有設置CURLOPT_RETURNTRANSFER為1的話,則會返回資料(如本例,將資料返回至$str變數中) $location = mb_strpos($str,'<h1>',0,'UTF-8')+4; 透過mb_strpos()搜尋字串首次出現的位置,並返回位置的數字。 mb_strpos()接受四個參數 1.第一個參數為被搜尋的字串 2.第二個參數為欲搜尋的字串 3.第三個參數為偏移,會根據你填的數字偏移,例如填入1,則會第二個數字開始搜尋(頭從0開始) 4.第四個參數為編碼,例如中文,你可以使用UTF-8,否則未填入編碼的情況下,中文是被算做3個字元的 mb_substr($str,$location,$end_loca