如何才能正確的實現php抓取網頁內容呢?這個問題對於接觸PHP語言不久的朋友來說有些難辦。 課課家今天就為大家介紹了具體的解決方法。 首先,在Cwindows裡的php.ini中我打開了extension=php_curl.dll的功能,然後也重啟了apapche,以下是我寫的PHP抓取網頁內容之抓取百度中PHP的訊息:
//初始化curl echo "測試一下"; 㟎 curl_setopt($ch,CURLOPT_URL,"http: //http://www.baidu.com/s?wd=php"); //要求CURL回傳資料 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 請求。 > $result = curl_exec($ch) or die (curl_error()); //取得返回的結果,並顯示 echo $result; echo curl_error($ch); > curl_close($ch); ?> 可反應 㟎> 不是php_curl.dll這個文件,是把php目錄中的libeay32.dll,ssleay32.dll拷到c:windowssystem32裡面重啟apache 當伺服器allow_url_fopen = Off 時,就不能用file_get_contents,只有設定ON時可以用。
$getstr=file_get_contents("http://www. 163.com/1ather/xml "); $qx=explode(""",strstr($getstr,"qx=")); $$wd=explode("""" $getstr,"wd=")); $qximg=explode(""",strstr($getstr,"qximg=")); $qximg_=explode(",",$qximg[1]); echo "北京".$qx[1]."" echo $wd[1];*/ //echo " "; ?> 以下PHP抓取網頁內容的範例是通curl_init函數來取得163天氣預報 > 把php.ini裡( ;extension=php_curl.dll ) 前面的(;)去掉保存 把php_curl.dll,libeay32. 把php_curl.dll,libeay32.把php_curl.dll,libeay32. 把php_curl.dll,libeay32.dllss.32.裡,重啟IIS即可,沒有裝apache
/初始化 $ch = curl_init() or die (curl_error()); //設定URL參數 //要求CU回傳資料 //要求CU返回資料 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //執行請求. ch) 或 die (curl_error()); //取得回傳的結果,並顯示 > > 🎜> // echo curl_error($ch); $qx=explode("""" )); $wd=explode(""",strstr($result,"wd=")); 比ximg =explode(""",strstr($result,"qximg=")); $qximg_=explode(",",$qximg[1]);echo "北京".$qx[1].""; echo $wd[1]; echo $wd[1]; echo $wd[1];echo $wd[1]; echo $wd[1];echo $wd[1]; [1];//關閉CURL curl_close($ch);透過以上對PHP抓取網頁內容的學習,大家可以自行實際操作一遍,加深對它的理解。更多資訊:http://www.kokojia.com/s64/ |