公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

php抓取網(wǎng)頁數(shù)據(jù)的技術(shù)要點(diǎn)

admin
2013年2月25日 23:46 本文熱度 5689




php中一般都是去抓取網(wǎng)頁數(shù)據(jù)?如想把http://mp3.baidu.com/ 歌曲500TOP把抓下來,如何實現(xiàn)?


該文章在 2013/2/25 23:46:42 編輯過

全部評論1

admin
2013年2月25日 23:52

問題中提到需要用PHP實現(xiàn),個人總結(jié)整理了一下,有以下幾種常用的用php抓取網(wǎng)頁中的內(nèi)容的方法,供您參考。

1.使用file_get_contents

  
  1. <?php      
  2. $url = "http://www.34ways.com";   
  3. $contents = file_get_contents($url);   
  4. //如果出現(xiàn)中文亂碼使用下面代碼   
  5. //$getcontent = iconv("gb2312", "utf-8",$contents);    
  6. echo $contents;   
  7. ?>

2.使用curl

  
  1. <?php      
  2. $url = "http://www.34ways.com";   
  3. $ch = curl_init();   
  4. $timeout = 5;   
  5. curl_setopt($ch, CURLOPT_URL, $url);   
  6. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   
  7. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);   
  8. //在需要用戶檢測的網(wǎng)頁里需要增加下面兩行   
  9. //curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);   
  10. //curl_setopt($ch, CURLOPT_USERPWD, US_NAME.":".US_PWD);   
  11. $contents = curl_exec($ch);   
  12. curl_close($ch);   
  13. echo $contents;   
  14. ?>

3.使用fopen->fread->fclose

  
  1. <?php      
  2. $handle = fopen ("http://www.34ways.com", "rb");   
  3. $contents = "";   
  4. do {   
  5.    $data = fread($handle, 1024);   
  6.    if (strlen($data) == 0) {   
  7.    break;   
  8.    }   
  9.    $contents .= $data;   
  10. } while(true);   
  11. fclose ($handle);   
  12. echo $contents;   
  13. ?>

最后提醒幾點(diǎn):
1.使用file_get_contents和fopen必須空間開啟allow_url_fopen。
方法:

編輯php.ini,設(shè)置allow_url_fopen =
On,allow_url_fopen關(guān)閉時fopen和file_get_contents都不能打開遠(yuǎn)程文件。

2.使用curl必須空間開啟curl。
方法:

windows下修改php.ini,將extension=php_curl.dll前面的分號去掉,而且需要拷貝ssleay32.dll和libeay32.dll到C:\WINDOWS\system32下;Linux下要安裝curl擴(kuò)展。

 
評論 (1)鏈接 • 2012-07-10
  • 多謝您的解答~ – 張鵬飛 2012-07-10

先file_get_contents("http://mp3.baidu.com/"),取一個html的結(jié)果 然后從html 利用正則找規(guī)律 來取

頁面只給了ID, 由flash查找的.如果想知道怎么查找的,可以反編譯SWF.
有其它的音樂網(wǎng)站列出了baidu的排行榜,也許從那里抓更容易.

只是舉了個例子,抓去網(wǎng)頁數(shù)據(jù)無非就兩步:1、抓取;2:分析
抓取分幾種情況:1、普通字符串,就是普通網(wǎng)頁源碼,用file_get_contents或curl抓取,2、有序數(shù)據(jù)如xml,可以用simplexml_load_file抓取
分析:如果是第二種情況,就按照xml數(shù)據(jù)來遍歷處理好了。 如果是第一種情況,用preg_match來匹配目標(biāo)數(shù)據(jù)

  • 只說下思路,這樣的代碼網(wǎng)上太多,就不多說了。
    PHP實現(xiàn)的話,file_get_contents網(wǎng)頁內(nèi)容下來,然后用正則進(jìn)行分析得到mp3文件地址到一個文件里面,然后用迅雷批量下載。
    PHP下載mp3 - -| 你懂的

    <?php
    /*
    * 如下: 方法有點(diǎn)笨
    * 抓取網(wǎng)頁內(nèi)容用 PHP 的正則
    * 用JS每隔5分鐘刷新當(dāng)前頁面---即重新獲取網(wǎng)頁內(nèi)容
    *
    * 注: $mode中--<title></title>-更改為所需內(nèi)容(如 $mode = "#<a(.)</a>#";>獲取所有鏈接) * * window.location.href="http://localhost/baidu/refesh.php";中的http://localhost/baidu/refesh.php * 更改為自己的URL----作用:即刷新當(dāng)前頁面 * * setInterval("ref()",300000);是每隔300000毫秒(即 5 * 60 *1000 毫秒即5分鐘)執(zhí)行一次函數(shù) ref() * * print_r($arr);輸出獲得的所有內(nèi)容 $arr是一個數(shù)組 可根據(jù)所需輸出一部分(如 echo $arr[1][0];) * 若要獲得所有內(nèi)容 可去掉 * $mode = "#<title>(.)</title>#";
    if(preg_match_all($mode,$content,$arr)){
    print_r($arr);
    echo "<br/>";
    echo $arr[1][0];
    }
    再加上 echo $content;
    */
    $url = "http://www.baidu.com"; //目標(biāo)站
    $fp = @fopen($url, "r") or die("超時");

    $content=file_get_contents($url);
    $mode = "#<title>(.*)</title>#";
    if(preg_match_all($mode,$content,$arr)){
    //print_r($arr);
    echo "<br/>";
    echo $arr[0];
    }
    ?>
    <script language="JavaScript" type="text/javascript">
    <--
    function ref(){
    window.location.href="http://localhost/baidu/refesh.php";
    }
    setInterval("ref()",300000);
    //-->
    </script>

    詳細(xì)匯總 http://blog.163.com/kong_qing_feng/blog/static/186228032009418144099/

     
    關(guān)鍵字查詢
    相關(guān)文章
    正在查詢...
    點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
    點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊、財務(wù)費(fèi)用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
    點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
    點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
    Copyright 2010-2025 ClickSun All Rights Reserved

    主站蜘蛛池模板: 国产高清色播视频免费看 | 国产精品对白刺激久久 | 国产在线午夜卡精品影院 | 国产aⅴ精品一区二区果冻 国产aⅴ精品一区二区久久 | 国产精品一级婬片免费 | 国产精品日韩专区 | 精品亚洲国产成v人片传媒 精品亚洲国产成人av不卡 | 国内精品一级毛片免费看 | heyzo无码中文字幕人妻 | 成人国产日韩欧美另类在线 | 国产精品视频免费一区二区 | 国产成人精品一区二区秒拍 | 精品国产av一区二区三区 | www在线观看一区二区三区 | 丰满的岳乱一区二区 | 国产精品无码制服 | 国产综合日本影视 | 91人妻中文字幕无码专区蜜 | 91一区二区午夜免 | 国产在线拍揄自揄视精品 | 潮喷失禁调教sm在线 | 成人午夜亚洲精品无码网站 | 国产av无码| 国产成人免费v片在线观看 国产成人免费不卡在线观看 | 国产福利免费视频不卡 | 91se在线观看一区二区 | 国产av剧情m| 高清精品无码乱 | 91成人午夜性a一级毛 | 国产午夜成一人免费看片 | 东京热无码人妻一区二区三区av | 国产成免费人成网站 | 国产成人亚洲精品影院 | 国产精品亚洲欧美日 | 国产成人福利美女 | 国产美女激情作爱网站 | 国产人妖xxxx做受视频 | 国产成人精品三级在线 | 精品一区二区啪视频 | 国产精品密蕾丝视 | 国产高清一区二区三区视 |