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

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

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

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

首先,我首必須決定我們將抓取的URL地址??梢酝ㄟ^在腳本中設定或通過$QUERY_STRING傳遞。為了簡單起見,讓我們將變量直接設在腳本中。

<?php

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

?>

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

<?php

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

$lines_array = file($url);

?>

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

<?php

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

$lines_array = file($url);

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

?>

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

<?php

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

$lines_array = file($url);

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

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

?>

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

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

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

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

<?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

//獲取所有內容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 );

}

//遍歷目錄獲取文件內容

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內容

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獲取指定網頁

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 ;

}

//獲取指定內容里的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 ;

}

//獲取指定內容中的多媒體文件

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程序設計有所幫助。

更多信息請查看網絡編程
易賢網手機網站地址:PHP抓取及分析網頁的方法詳解
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權所有:易賢網

中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲国产精品尤物yw在线观看| 久久99精品久久只有精品| 亚洲va国产天堂va久久en| 在线看日本不卡| 一区二区三区中文字幕| 欧美精品久久久久久久多人混战 | 色呦呦日韩精品| 亚洲成av人片www| 日韩一区二区三区在线视频| 国产福利一区在线观看| 一区二区三区日本| 欧美一级片在线观看| 福利一区二区在线| 日韩国产一区二| 国产精品全国免费观看高清 | 粉嫩一区二区三区性色av| 亚洲欧洲制服丝袜| 精品精品国产高清一毛片一天堂| bt欧美亚洲午夜电影天堂| 丝袜脚交一区二区| 成人免费小视频| 精品成a人在线观看| 欧美在线视频你懂得| 国产成人aaa| 亚洲成人先锋电影| 欧美韩国日本不卡| 在线不卡一区二区| 国产sm精品调教视频网站| 性做久久久久久久免费看| 中文字幕的久久| 日韩美女天天操| aaa亚洲精品一二三区| 蜜桃在线一区二区三区| 亚洲裸体在线观看| 国产日韩欧美麻豆| 精品国产青草久久久久福利| 欧洲精品一区二区| 国产成人aaa| 精品无人区卡一卡二卡三乱码免费卡| 亚洲美女区一区| 久久亚洲捆绑美女| 91麻豆精品国产91久久久资源速度| 成人美女在线视频| 国产精品亚洲专一区二区三区| 天天综合色天天综合色h| 亚洲国产精品av| 日韩美一区二区三区| 欧美日韩在线播放三区四区| 一本大道久久a久久精二百| 成人听书哪个软件好| 日本sm残虐另类| 免费久久精品视频| 亚洲成人在线观看视频| 亚洲成va人在线观看| 亚洲图片自拍偷拍| 亚洲色图都市小说| 亚洲主播在线观看| 亚洲色图.com| 一区二区三区成人在线视频| 国产亚洲成年网址在线观看| 欧美国产亚洲另类动漫| 久久网这里都是精品| 中日韩免费视频中文字幕| 国产精品久久影院| 国产精品久久久久久妇女6080| 欧美韩国日本综合| 成人免费在线播放视频| 国产精品成人免费在线| 国产精品三级av在线播放| 国产精品女上位| 亚洲欧美日韩系列| 午夜精品成人在线视频| 一区二区三区加勒比av| 日本午夜一本久久久综合| 青青青爽久久午夜综合久久午夜 | 亚洲黄色尤物视频| 亚洲精品福利视频网站| 一区二区三区四区乱视频| 亚洲激情av在线| 日本不卡免费在线视频| 人人精品人人爱| 成人激情图片网| 91亚洲精品久久久蜜桃网站| 91麻豆精品国产91久久久更新时间| 欧美一区二区三区的| 精品国产乱子伦一区| 中文字幕在线观看一区二区| 日韩理论片网站| 蜜臀久久99精品久久久久宅男 | 国产美女在线精品| caoporen国产精品视频| 热久久久久久久| 色婷婷精品大在线视频| 欧美精品三级日韩久久| 国产色产综合色产在线视频| 夜夜操天天操亚洲| 日韩国产在线一| 不卡在线视频中文字幕| 69久久夜色精品国产69蝌蚪网| 2024国产精品| 一个色在线综合| av资源网一区| 日韩视频在线永久播放| 一区二区三区日韩| 国产做a爰片久久毛片| 欧美性一区二区| 亚洲精品一区在线观看| 一色屋精品亚洲香蕉网站| 狠狠色丁香久久婷婷综合_中| 99国产精品一区| 国产视频在线观看一区二区三区 | 欧美国产欧美亚州国产日韩mv天天看完整| 一区二区三区中文免费| 成人激情开心网| 国产三级精品三级在线专区| 蜜臀国产一区二区三区在线播放| 91社区在线播放| ...xxx性欧美| 国产精品一区二区久久不卡| 日韩免费一区二区三区在线播放| 亚洲一卡二卡三卡四卡无卡久久| 成人精品电影在线观看| 国产日韩欧美一区二区三区乱码 | 成人激情免费网站| 久久久久99精品一区| 亚洲1区2区3区4区| 欧美年轻男男videosbes| 亚洲一区二区三区四区中文字幕| 色爱区综合激月婷婷| 亚洲精品国产高清久久伦理二区| 97久久超碰国产精品| 中文字幕一区二区三| 一本久久综合亚洲鲁鲁五月天 | 婷婷综合在线观看| 欧美情侣在线播放| 麻豆久久久久久| 国产视频911| 91免费看片在线观看| 亚洲午夜精品一区二区三区他趣| 欧美性大战久久久久久久蜜臀| 一区二区久久久久久| 在线成人午夜影院| 国产自产视频一区二区三区| 久久久精品综合| www.亚洲免费av| 亚洲一区二三区| 欧美成人国产一区二区| 国产成人亚洲综合a∨婷婷| 国产精品不卡一区| 精品视频123区在线观看| 美女诱惑一区二区| 国产精品乱人伦一区二区| 在线一区二区三区做爰视频网站| 日日夜夜精品视频免费| 久久久久久久久久久99999| 99re6这里只有精品视频在线观看| 亚洲高清久久久| 国产亚洲欧洲一区高清在线观看| 91在线国产福利| 免费国产亚洲视频| 亚洲视频中文字幕| 欧美一二三区在线| 99视频精品在线| 日韩制服丝袜av| 国产精品久久久久影院亚瑟 | 日韩精品高清不卡| 日本一区二区免费在线| 欧美色手机在线观看| 国产精品一二三| 性做久久久久久免费观看 | 国产精品视频一二三区| 欧美军同video69gay| 成人精品鲁一区一区二区| 丝瓜av网站精品一区二区 | 亚洲色图欧美在线| 欧美大黄免费观看| 欧美三级电影网站| 99精品1区2区| 国产精品一区二区三区乱码| 日韩成人一区二区| 一区二区三区四区在线免费观看| 欧美精品一区二区蜜臀亚洲| 欧美日韩国产小视频在线观看| 大尺度一区二区| 国产一区亚洲一区| 日本不卡高清视频| 性久久久久久久久| 一区二区三区欧美久久| 国产精品乱子久久久久| 久久久久久久久久久电影| 日韩一级免费观看| 欧美精品色综合| 欧美视频在线播放| 欧美亚一区二区| 91极品视觉盛宴| 日本道免费精品一区二区三区| 丰满岳乱妇一区二区三区| 日韩国产欧美在线播放| 丝袜美腿亚洲综合| 日韩电影网1区2区|