php獲取網(wǎng)頁(yè)內(nèi)容的方法有哪些?php獲取網(wǎng)頁(yè)內(nèi)容的代碼示例
來(lái)源:不言
發(fā)布時(shí)間:2018-10-25 15:25:52
閱讀量:822
本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于php獲取網(wǎng)頁(yè)內(nèi)容的方法有哪些?php獲取網(wǎng)頁(yè)內(nèi)容的代碼示例,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。
3種利用php獲得網(wǎng)頁(yè)源代碼抓取網(wǎng)頁(yè)內(nèi)容的方法,我們可以根據(jù)實(shí)際需要選用。
1、使用file_get_contents獲得網(wǎng)頁(yè)源代碼
這個(gè)方法最常用,只需要兩行代碼即可,非常簡(jiǎn)單方便。
參考代碼:
1 2 3 4 | <?php
$fh = file_get_contents ( 'http://www.webkaka.com/' );
echo $fh ;
?>
|
2、使用fopen獲得網(wǎng)頁(yè)源代碼
這個(gè)方法用的人也不少,不過(guò)代碼有點(diǎn)多。
參考代碼:
1 2 3 4 5 6 7 8 | <?php
$fh = fopen ( 'http://www.webkaka.com/' , 'r' );
if ( $fh ){
while (! feof ( $fh )) {
echo fgets ( $fh );
}
}
?>
|
3、使用curl獲得網(wǎng)頁(yè)源代碼
使用curl獲得網(wǎng)頁(yè)源代碼的做法,往往是需要更高要求的人使用,例如當(dāng)你需要在抓取網(wǎng)頁(yè)內(nèi)容的同時(shí),得到網(wǎng)頁(yè)header信息,還有ENCODING編碼的使用,USERAGENT的使用等等。
參考代碼一:
1 2 3 4 5 6 7 8 9 10 11 12 | <?php
$ch = curl_init();
curl_setopt( $ch , CURLOPT_URL, "http://www.webkaka.com/" );
curl_setopt( $ch , CURLOPT_HEADER, false);
$data = curl_exec( $ch );
echo $data ;
curl_close( $ch );
?>
|
參考代碼二:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php
$szUrl = "http://www.webkaka.com/" ;
$UserAgent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022; .NET CLR 1.0.3705; .NET CLR 1.1.4322)' ;
$curl = curl_init();
curl_setopt( $curl , CURLOPT_URL, $szUrl );
curl_setopt( $curl , CURLOPT_HEADER, 0);
curl_setopt( $curl , CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER, false);
curl_setopt( $curl , CURLOPT_SSL_VERIFYHOST, false);
curl_setopt( $curl , CURLOPT_ENCODING, '' );
curl_setopt( $curl , CURLOPT_USERAGENT, $UserAgent );
curl_setopt( $curl , CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec( $curl );
echo $data ;
exit ();
?>
|