中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

PHP抓取及分析網(wǎng)頁的方法詳解
來源:易賢網(wǎng) 閱讀:1155 次 日期:2016-08-25 15:44:32
溫馨提示:易賢網(wǎng)小編為您整理了“PHP抓取及分析網(wǎng)頁的方法詳解”,方便廣大網(wǎng)友查閱!

本文實例講述了PHP抓取及分析網(wǎng)頁的方法。分享給大家供大家參考,具體如下:

抓取和分析一個文件是非常簡單的事。這個教程將通過一個例子帶領(lǐng)你一步一步地去實現(xiàn)它。讓我們開始吧!

首先,我首必須決定我們將抓取的URL地址。可以通過在腳本中設(shè)定或通過$QUERY_STRING傳遞。為了簡單起見,讓我們將變量直接設(shè)在腳本中。

<?php

$url = 'http://www.php.net';

?>

第二步,我們抓取指定文件,并且通過file()函數(shù)將它存在一個數(shù)組里。

<?php

$url = 'http://www.php.net';

$lines_array = file($url);

?>

好了,現(xiàn)在在數(shù)組里已經(jīng)有了文件了。但是,我們想分析的文本可能不全在一行里面。為了解決這個文件,我們可以簡單地將數(shù)組$lines_array轉(zhuǎn)化成一個字符串。我們可以使用implode(x,y)函數(shù)來實現(xiàn)它。如果在后面你想用explode(將字符串變量數(shù)組),將x設(shè)成"|"或"!"或其它類似的分隔符可能會更好。但是出于我們的目的,最好將x設(shè)成空格。y是另一個必要的參數(shù),因為它是你想用implode()處理的數(shù)組。

<?php

$url = 'http://www.php.net';

$lines_array = file($url);

$lines_string = implode('', $lines_array);

?>

現(xiàn)在,抓取工作就做完了,下面該進行分析了。出于這個例子的目的,我們想得到在<head>到</head>之間的所有東西。為了分析出字符串,我們還需要叫做正規(guī)表達式的東西。

<?php

$url = 'http://www.php.net';

$lines_array = file($url);

$lines_string = implode('', $lines_array);

eregi("<head>(.*)</head>", $lines_string, $head);

?>

讓我們看一下代碼。正如你所見,eregi()函數(shù)按下面的格式執(zhí)行:

eregi("<head>(.*)</head>", $lines_string, $head);

"(.*)"表示所有東西,可以解釋為,"分析在<head>和</head>間的所以東西"。$lines_string是我們正在分析的字符串,$head是分析后的結(jié)果存放的數(shù)組。

最后,我們可以輸數(shù)據(jù)。因為僅在<head>和</head>間存在一個實例,我們可以安全的假設(shè)數(shù)組中僅存在著一個元素,而且就是我們想要的。讓我們把它打印出來吧。

<?php

$url = 'http://www.php.net';

$lines_array = file($url);

$lines_string = implode('', $lines_array); eregi("<head>(.*)</head>", $lines_string, $head);

echo $head[0];

?>

這就是全部的代碼了。

<?php

//獲取所有內(nèi)容url保存到文件

function get_index ( $save_file , $prefix = "index_" ){

   $count = 68 ;

   $i = 1 ;

  if ( file_exists ( $save_file )) @ unlink ( $save_file );

   $fp = fopen ( $save_file , "a+" ) or die( "Open " . $save_file . " failed" );

  while( $i < $count ){

     $url = $prefix . $i . ".htm" ;

    echo "Get " . $url . "..." ;

     $url_str = get_content_url ( get_url ( $url ));

    echo " OK/n" ;

     fwrite ( $fp , $url_str );

    ++ $i ;

  }

   fclose ( $fp );

}

//獲取目標多媒體對象

function get_object ( $url_file , $save_file , $split = "|--:**:--|" ){

  if (! file_exists ( $url_file )) die( $url_file . " not exist" );

   $file_arr = file ( $url_file );

  if (! is_array ( $file_arr ) || empty( $file_arr )) die( $url_file . " not content" );

   $url_arr = array_unique ( $file_arr );

  if ( file_exists ( $save_file )) @ unlink ( $save_file );

   $fp = fopen ( $save_file , "a+" ) or die( "Open save file " . $save_file . " failed" );

  foreach( $url_arr as $url ){

    if (empty( $url )) continue;

    echo "Get " . $url . "..." ;

     $html_str = get_url ( $url );

    echo $html_str ;

    echo $url ;

    exit;

     $obj_str = get_content_object ( $html_str );

    echo " OK/n" ;

     fwrite ( $fp , $obj_str );

  }

   fclose ( $fp );

}

//遍歷目錄獲取文件內(nèi)容

function get_dir ( $save_file , $dir ){

   $dp = opendir ( $dir );

  if ( file_exists ( $save_file )) @ unlink ( $save_file );

   $fp = fopen ( $save_file , "a+" ) or die( "Open save file " . $save_file . " failed" );

  while(( $file = readdir ( $dp )) != false ){

    if ( $file != "." && $file != ".." ){

      echo "Read file " . $file . "..." ;

       $file_content = file_get_contents ( $dir . $file );

       $obj_str = get_content_object ( $file_content );

      echo " OK/n" ;

       fwrite ( $fp , $obj_str );

    }

  }

   fclose ( $fp );

}

//獲取指定url內(nèi)容

function get_url ( $url ){

   $reg = '/^http:////[^//].+$/' ;

  if (! preg_match ( $reg , $url )) die( $url . " invalid" );

   $fp = fopen ( $url , "r" ) or die( "Open url: " . $url . " failed." );

  while( $fc = fread ( $fp , 8192 )){

     $content .= $fc ;

  }

   fclose ( $fp );

  if (empty( $content )){

    die( "Get url: " . $url . " content failed." );

  }

  return $content ;

}

//使用socket獲取指定網(wǎng)頁

function get_content_by_socket ( $url , $host ){

   $fp = fsockopen ( $host , 80 ) or die( "Open " . $url . " failed" );

   $header = "GET /" . $url . " HTTP/1.1/r/n" ;

   $header .= "Accept: */*/r/n" ;

   $header .= "Accept-Language: zh-cn/r/n" ;

   $header .= "Accept-Encoding: gzip, deflate/r/n" ;

   $header .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; InfoPath.1; .NET CLR 2.0.50727)/r/n" ;

   $header .= "Host: " . $host . "/r/n" ;

   $header .= "Connection: Keep-Alive/r/n" ;

   //$header .= "Cookie: cnzz02=2; rtime=1; ltime=1148456424859; cnzz_eid=56601755-/r/n/r/n";

   $header .= "Connection: Close/r/n/r/n" ;

   fwrite ( $fp , $header );

   while (! feof ( $fp )) {

     $contents .= fgets ( $fp , 8192 );

   }

   fclose ( $fp );

   return $contents ;

}

//獲取指定內(nèi)容里的url

function get_content_url ( $host_url , $file_contents ){

   //$reg = '/^(#|<a class='replace_word' title="JavaScript知識庫" target='_blank' style='color:#df3434; font-weight:bold;'>JavaScript</a>.*?|ftp:////.+|http:////.+|.*?href.*?|play.*?|index.*?|.*?asp)+$/i';

   //$reg = '/^(down.*?/.html|/d+_/d+/.htm.*?)$/i';

   $rex = "/([hH][rR][eE][Ff])/s*=/s*['/"]*([^>'/"/s]+)[/"'>]*/s*/i" ;

   $reg = '/^(down.*?/.html)$/i' ;

   preg_match_all ( $rex , $file_contents , $r );

   $result = "" ; //array();

   foreach( $r as $c ){

    if ( is_array ( $c )){

      foreach( $c as $d ){

        if ( preg_match ( $reg , $d )){ $result .= $host_url . $d . "/n" ; }

      }

    }

  }

  return $result ;

}

//獲取指定內(nèi)容中的多媒體文件

function get_content_object ( $str , $split = "|--:**:--|" ){

   $regx = "/href/s*=/s*['/"]*([^>'/"/s]+)[/"'>]*/s*(.*?<//b>)/i" ;

   preg_match_all ( $regx , $str , $result );

  if ( count ( $result ) == 3 ){

     $result [ 2 ] = str_replace ( "多媒體: " , "" , $result [ 2 ]);

     $result [ 2 ] = str_replace ( " " , "" , $result [ 2 ]);

     $result = $result [ 1 ][ 0 ] . $split . $result [ 2 ][ 0 ] . "/n" ;

  }

  return $result ;

}

?>

希望本文所述對大家PHP程序設(shè)計有所幫助。

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機網(wǎng)站地址:PHP抓取及分析網(wǎng)頁的方法詳解

2026上岸·考公考編培訓(xùn)報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲美女毛片| 国产一区视频在线看| 久久久久久91香蕉国产| 亚洲精品欧美一区二区三区| 欧美日韩免费精品| 欧美日韩视频一区二区三区| 欧美国产亚洲精品久久久8v| 久久精品国产久精国产爱| 欧美中在线观看| 久久综合给合久久狠狠狠97色69| 欧美日韩精品综合在线| 久久久久久一区二区三区| 噜噜噜噜噜久久久久久91 | 亚洲激情视频网| 亚洲少妇一区| 久久国产一区二区三区| 亚洲一区欧美| 美女精品在线| 国产精品成av人在线视午夜片| 在线不卡欧美| 亚洲欧美成人精品| 久久久噜噜噜久久人人看| 久久一二三国产| 国产精品国内视频| 99成人精品| 欧美在线不卡| 欧美激情第六页| 亚洲精品一区二区三区樱花| 久久伊人亚洲| 国产欧美精品日韩精品| 国产一级精品aaaaa看| 亚洲视频狠狠| 国产精品你懂的在线欣赏| 亚洲国产精品一区二区尤物区| 午夜精品福利视频| 国产视频在线观看一区二区| 亚洲视频免费观看| 国产欧美亚洲一区| 亚洲欧美日本国产有色| 欧美精品一区在线观看| 亚洲电影第1页| 欧美精品在线一区二区三区| 一本久道久久综合狠狠爱| 欧美日韩高清区| 亚洲国产精品精华液2区45 | 亚洲视频欧美在线| 欧美色另类天堂2015| 99精品欧美一区| 欧美金8天国| 日韩一级视频免费观看在线| 亚洲理伦电影| 欧美视频在线观看一区二区| 中文国产成人精品| 国产精品成av人在线视午夜片| 亚洲尤物视频在线| 在线观看成人av| 欧美日本在线播放| 久久只精品国产| 亚洲一区日韩在线| 狠狠色狠狠色综合日日tαg | 国产一区二区三区久久久久久久久| 久久精品综合| 玖玖综合伊人| 国产精品都在这里| 国产精品美女久久久| 国产亚洲激情| 午夜精品www| 国产精品视频一二三| 一区二区三区我不卡| 国产美女精品| 亚洲美女中文字幕| 欧美xart系列高清| 亚洲精品在线一区二区| 欧美精品在线播放| 久久综合国产精品| 久久国产精品第一页| 亚洲欧美日韩网| 亚洲日本在线观看| 国产美女精品免费电影| 欧美成人亚洲| 麻豆成人av| 欧美a级一区| 母乳一区在线观看| 国产精品国产福利国产秒拍| 欧美激情女人20p| 国产精品久久久一区二区| 欧美激情va永久在线播放| 欧美亚洲日本国产| 久久久久**毛片大全| 欧美α欧美αv大片| 欧美精品亚洲二区| 在线看不卡av| 这里是久久伊人| 国产亚洲精品久久飘花| 精品91在线| 亚洲国产另类久久久精品极度| 国内偷自视频区视频综合| 在线日本高清免费不卡| 中文久久精品| 蜜臀av性久久久久蜜臀aⅴ| 欧美天堂亚洲电影院在线观看 | 亚洲午夜精品国产| 久久久久99| 久久精品中文| 欧美大秀在线观看| 欧美福利电影网| 国产视频丨精品|在线观看| 亚洲另类在线一区| 欧美激情精品久久久久久大尺度 | 国产精品久久91| 一色屋精品亚洲香蕉网站| 亚洲精品欧美激情| 欧美成人免费全部| 亚洲黄色高清| 国产精品久久久久久久久久妞妞| 国产综合在线看| 亚洲午夜影视影院在线观看| 裸体一区二区三区| 国产日本精品| 一区二区三区久久| 国产日韩欧美亚洲| 亚洲国产精品一区二区第一页| 亚洲一区二区三区高清不卡| 欧美高清免费| 日韩视频在线永久播放| 欧美日韩一区在线视频| 亚洲午夜精品久久久久久app| 国产欧美精品一区aⅴ影院| 中文日韩欧美| 欧美三级精品| 久久精品国产2020观看福利| 国产精品成人va在线观看| 一本色道久久99精品综合 | 在线观看亚洲一区| 欧美aa国产视频| 亚洲第一精品久久忘忧草社区| 午夜激情综合网| 国产亚洲毛片在线| 久久精品亚洲热| 一区二区三区欧美视频| 国产亚洲欧美一区在线观看 | 国产视频不卡| 午夜亚洲福利| 亚洲丁香婷深爱综合| 欧美日韩国产小视频| 亚洲一区制服诱惑| 国模叶桐国产精品一区| 久久夜色撩人精品| 亚洲一区二区成人| 黄色一区二区在线| 国产亚洲欧美一区二区三区| 欧美 日韩 国产在线 | 午夜精品亚洲| 亚洲天堂免费观看| 亚洲免费在线精品一区| 国产亚洲欧洲| 欧美极品在线观看| 欧美激情久久久| 欧美精品一区二区三区在线看午夜 | 亚洲国产视频直播| 欧美全黄视频| 麻豆freexxxx性91精品| 久久精品午夜| 欧美中文日韩| 另类av一区二区| 欧美极品在线观看| 免费视频一区二区三区在线观看| 亚洲在线成人精品| 一本久久a久久免费精品不卡| 亚洲高清在线观看| 在线亚洲欧美专区二区| 香蕉久久久久久久av网站| 亚洲欧美区自拍先锋| 亚洲欧美日本精品| 欧美在线一二三四区| 欧美成人精品三级在线观看| 国产精品magnet| 亚洲高清视频一区| 日韩视频在线观看国产| 中文欧美字幕免费| 亚洲欧美三级在线| 欧美大片专区| 国产精品免费网站在线观看| 欧美日韩在线三区| 国产麻豆91精品| 国产在线精品二区| 一区二区三区蜜桃网| 美女国产一区| 亚洲另类自拍| 亚洲欧美日本日韩| 久久精品日产第一区二区三区| 美女视频网站黄色亚洲| 国产九区一区在线| 亚洲人成网站精品片在线观看 | 欧美日韩成人一区| 国产亚洲综合在线| 亚洲自啪免费| 欧美成人有码| 亚洲精品资源| 欧美精品一区二区高清在线观看|