2013-09-01 59 views
0

對不起我的英語。我正在使用CURL,因爲網頁需要此功能。我沒有得到file_get_contents的頁面。如何解析頁面而不保存頁面? (FOPEN,FWRITE)解析網頁而不保存本地?

<?PHP 
function fileGet($url, $timeout = 55, $ref=true){ 
    $useri = $_SERVER['HTTP_USER_AGENT']; 
    @set_time_limit($timeout); 
    $curl = curl_init();   
    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_COOKIESESSION, true); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); 
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION,true); 
    curl_setopt($curl, CURLOPT_COOKIE, 'PHPSESSID=fztitsfgsafafaq25llwafd0; path:/'); 
    curl_setopt($curl, CURLOPT_USERAGENT, $useri); 
    curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate'); 
    curl_setopt($curl, CURLOPT_TIMEOUT, $timeout); 
    curl_setopt($curl, CURLOPT_REFERER,$url); 
    $data = curl_exec($curl); 
    curl_close($curl); 
    // Save Page Start 
    $fp = fopen('data.html', 'w'); 
    fwrite($fp, $data); 
    fclose($fp); 
    // Save Page End 
    return $data; 
} 
    // Start Code 
fileGet("http://www.example.com",10); // Start Function 
$html = file_get_html('data.html'); // Open Saved Page In Local 
    foreach($html->find('div.columns') as $article) { 
     // Events..... 
     mysql_query("Insert Query"); 
    } 
    // End Code 
?> 

回答

0
<?PHP 
function fileGet($url, $timeout = 55, $ref=true){ 
    $useri = $_SERVER['HTTP_USER_AGENT']; 
    @set_time_limit($timeout); 
    $curl = curl_init();   
    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_COOKIESESSION, true); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); 
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION,true); 
    curl_setopt($curl, CURLOPT_COOKIE, 'PHPSESSID=fztitsfgsafafaq25llwafd0; path:/'); 
    curl_setopt($curl, CURLOPT_USERAGENT, $useri); 
    curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate'); 
    curl_setopt($curl, CURLOPT_TIMEOUT, $timeout); 
    curl_setopt($curl, CURLOPT_REFERER,$url); 
    $data = curl_exec($curl); 
    return $data; 
} 
    // Start Code 
$html = str_get_html(fileGet("http://www.example.com",10)); 
    foreach($html->find('div.columns') as $article) { 
     // Events..... 
     mysql_query("Insert Query"); 
    } 
    // End Code 
?> 
+0

非常感謝你叉很好.. – user2733659