php獲取網(wǎng)頁內(nèi)容方法總結(jié)
更新時間:2008年12月04日 13:49:51 作者:
用php抓取頁面的內(nèi)容在實際的開發(fā)當(dāng)中是非常有用的,如作一個簡單的內(nèi)容采集器,提取網(wǎng)頁中的部分內(nèi)容等等
抓取到的內(nèi)容在通過正則表達式做一下過濾就得到了你想要的內(nèi)容,至于如何用正則表達式過濾,在這里就不做介紹了,有興趣的,以下就是幾種常用的用php抓取網(wǎng)頁中的內(nèi)容的方法。
1.file_get_contents
PHP代碼
<?php
$url = "http://www.dbjr.com.cn";
$contents = file_get_contents($url);
//如果出現(xiàn)中文亂碼使用下面代碼
//$getcontent = iconv("gb2312", "utf-8",$contents);
echo $contents;
?>
2.curl
PHP代碼
<?php
$url = "http://www.dbjr.com.cn";
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
//在需要用戶檢測的網(wǎng)頁里需要增加下面兩行
//curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
//curl_setopt($ch, CURLOPT_USERPWD, US_NAME.":".US_PWD);
$contents = curl_exec($ch);
curl_close($ch);
echo $contents;
?>
3.fopen->fread->fclose
PHP代碼
<?php
$handle = fopen ("http://www.dbjr.com.cn", "rb");
$contents = "";
do {
$data = fread($handle, 1024);
if (strlen($data) == 0) {
break;
}
$contents .= $data;
} while(true);
fclose ($handle);
echo $contents;
?>
注:
1.使用file_get_contents和fopen必須空間開啟allow_url_fopen。方法:編輯php.ini,設(shè)置allow_url_fopen = On,allow_url_fopen關(guān)閉時fopen和file_get_contents都不能打開遠程文件。
2.使用curl必須空間開啟curl。方法:windows下修改php.ini,將extension=php_curl.dll前面的分號去掉,而且需要拷貝ssleay32.dll和libeay32.dll到C:\WINDOWS\system32下;Linux下要安裝curl擴展。
1.file_get_contents
PHP代碼
復(fù)制代碼 代碼如下:
<?php
$url = "http://www.dbjr.com.cn";
$contents = file_get_contents($url);
//如果出現(xiàn)中文亂碼使用下面代碼
//$getcontent = iconv("gb2312", "utf-8",$contents);
echo $contents;
?>
2.curl
PHP代碼
復(fù)制代碼 代碼如下:
<?php
$url = "http://www.dbjr.com.cn";
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
//在需要用戶檢測的網(wǎng)頁里需要增加下面兩行
//curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
//curl_setopt($ch, CURLOPT_USERPWD, US_NAME.":".US_PWD);
$contents = curl_exec($ch);
curl_close($ch);
echo $contents;
?>
3.fopen->fread->fclose
PHP代碼
復(fù)制代碼 代碼如下:
<?php
$handle = fopen ("http://www.dbjr.com.cn", "rb");
$contents = "";
do {
$data = fread($handle, 1024);
if (strlen($data) == 0) {
break;
}
$contents .= $data;
} while(true);
fclose ($handle);
echo $contents;
?>
注:
1.使用file_get_contents和fopen必須空間開啟allow_url_fopen。方法:編輯php.ini,設(shè)置allow_url_fopen = On,allow_url_fopen關(guān)閉時fopen和file_get_contents都不能打開遠程文件。
2.使用curl必須空間開啟curl。方法:windows下修改php.ini,將extension=php_curl.dll前面的分號去掉,而且需要拷貝ssleay32.dll和libeay32.dll到C:\WINDOWS\system32下;Linux下要安裝curl擴展。
您可能感興趣的文章:
- thinkphp3.x中變量的獲取和過濾方法詳解
- php完全過濾HTML,JS,CSS等標(biāo)簽
- php過濾HTML標(biāo)簽、屬性等正則表達式匯總
- php 安全過濾函數(shù)代碼
- PHP對表單提交特殊字符的過濾和處理方法匯總
- 過濾掉PHP數(shù)組中的重復(fù)值的實現(xiàn)代碼
- PHP屏蔽過濾指定關(guān)鍵字的方法
- php獲取數(shù)組長度的方法(有實例)
- php自動獲取字符串編碼函數(shù)mb_detect_encoding
- php獲取post中的json數(shù)據(jù)的實現(xiàn)方法
- php 如何獲取數(shù)組第一個值
- php通過兩層過濾獲取留言內(nèi)容的方法
相關(guān)文章
PHP正則表達式函數(shù)preg_replace用法實例分析
這篇文章主要介紹了PHP正則表達式函數(shù)preg_replace用法,結(jié)合實例形式分析了PHP正則表達式函數(shù)preg_replace基本功能、參數(shù)描述與相關(guān)使用技巧,需要的朋友可以參考下2020-06-06PHP連接Access數(shù)據(jù)庫的方法小結(jié)
有時候我們在開發(fā)一些小程序或簡單功能的管理系統(tǒng),又沒有mysql數(shù)據(jù)庫的情況下,就可以使用access了,這里介紹下鏈接方法2013-06-06php數(shù)組相加 array(“a”)+array(“b”)結(jié)果還是array(“a”)
同一個數(shù)組里面如果有相同的鍵名,則前面一個鍵名的值將會被覆蓋(overwritten)2012-09-09

php防止偽造數(shù)據(jù)從地址欄URL提交的方法
針對偽造的數(shù)據(jù)從URL提交的情況,首先是檢查前一頁來源,這個方法只能防止手動在瀏覽器地址欄上輸入的URL,目前覺得還是用POST的方法傳遞重要數(shù)據(jù)比較可靠
2014-08-08 
解析array splice的移除數(shù)組中指定鍵的值,返回一個新的數(shù)組
array_splice這個數(shù)組函數(shù)在w3school的解釋是把數(shù)組中的一部分去掉并用其它值取代。所以我在做數(shù)組移除的時候沒有考慮到用這個函數(shù),或者因為從來沒有用過
2013-07-07