php中抓取網頁內容的程式碼

魔豆發表於2016-10-23

方法一:

使用file_get_contents方法實現

        $url = "http://news.sina.com.cn/c/nd/2016-10-23/doc-ifxwztru6951143.shtml";
        $html = file_get_contents($url);
        //如果出現中文亂碼使用下面程式碼
        //$getcontent = iconv("gb2312", "utf-8",$html);
        echo "<textarea style='width:800px;height:600px;'>".$html."</textarea>";

程式碼很簡單,一看就懂,不解釋了。

 

方法二:

使用curl實現

$url = "http://news.sina.com.cn/c/nd/2016-10-23/doc-ifxwztru6951143.shtml";
        
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$html = curl_exec($ch);
curl_close($ch);

echo "<textarea style='width:800px;height:600px;'>".$html."</textarea>";

 

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

加上這句程式碼,表示如果請求被重定向時,可以訪問到最終的請求頁面,不然請求的結果會顯示如下內容:

<head><title>Object moved</title></head>
<body><h1>Object Moved</h1>This object may be found <a HREF="some link.">here</a>.</body>

相關文章