PHP教程之采集百度音樂程序_PHP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:PHP教程之PHP連接ACCESS數(shù)據(jù)庫的類
      試過PHP連接ACCESS數(shù)據(jù)庫沒?這個用途不大,但有時候也用得著!我以前試圖將一個ASP程序改寫成PHP的,原程序的數(shù)據(jù)庫設計得比較完善,我打算開發(fā)時就用它的ACCESS數(shù)據(jù)庫 ,等程序完成后再轉換。這個程序改寫計劃最終擱淺了,但此過程中為了方便連接ACCESS數(shù)

      采集百度MP3TOP100和TOP500 列表歌曲文件URL的小程序!

       本程序將百度的新歌TOP100和熱歌TOP500列表里的音樂隨機采集一個mp3或wma文件URL與歌手、歌名一起組成二維數(shù)組,并序列化保存在db.txt里
      開啟采集時要輸入密碼,防止惡作劇。密碼是fzz
      */
      //session_save_path("tmp");
      //密碼:fzz
      session_start();
      file="db.txt";
      if(!isset(_SESSION["cai"])){
      _SESSION["cai"]=0;
      }
      if(_SESSION["cai"]==0 or !isset(_POST["xuanze"])){
      echo <<<eot
      <center>
      <title>『夜無眠音樂采集』</title>
      <font color=green>『夜無眠音樂采集』</font><br><br>
      你要更新哪部分?
      <form method=post action=''>
      <input type=radio value=100 name="xuanze" checked>TOP100
      <input type=radio value=500 name="xuanze">TOP500<br>
      是否觀看采集過程:<INPUT TYPE="checkbox" NAME="guankan" checked><br>
      后臺密碼:<input type=password name="password"><br>
      <input type=submit value=開始采集 checked>
      </form>
      <br><font color=red>程序開始采集后請勿隨意刷新頁面</font>
      </center>
      eot;
      _SESSION["cai"]=1;
      die();
      }
      _SESSION["cai"]=0;
      if(_POST["password"]!="fzz"){//這里的fzz就是密碼,可以改。
      die("<script>alert('沒有密碼還想進來搗亂?')</script>");
      }

      i=0;

      if(_POST["xuanze"]==100){
      ii=0;
      urltop="http://list.mp3.baidu.com/list/newhits.html?id=1#top1";
      top=100;
      }
      else{
      ii=100;
      urltop="http://list.mp3.baidu.com/topso/mp3topsong.html?id=1#top2";
      top=500;
      }
      db=unserialize(@file_get_contents(file));
      input=file_get_contents(urltop);
      preg_match_all("/(?:[0-9]{1,3}.</td>).*?</td>/isS",input,a);

      while(i<top){
      set_time_limit(30);
      name=preg_match_all("/blank>(.+?)</",a[0][i],b);
      music=b[1][0];
      name=b[1][1];
      if(isset(b[1][2])){
      name.="/".b[1][2];
      }
      music=preg_replace("/<b.*?>/is","",music);
      word=urlencode("{music}+{name}");
      url_dqlb="http://mp3.baidu.com/m?f=ms&rn=&tn=baidump3&ct=134217728&word={word}&lm=-1";
      db_dqlb=file_get_contents(url_dqlb);
      preg_match("/http:.+?word=(?:wma|mp3).+?d{5}&lm=d{8}/i",db_dqlb,url_r);
      url_last=str_replace(" ","%20",url_r[0]);
      db_last=file_get_contents(url_last);
      preg_match("/http:.+?.(wma|mp3)(?=")/i",db_last,url);
      url=url[0];
      db[ii+i]=array(name=>name,music=>music,url=>url);
      i++;
      if(_POST[guankan]=="on"){
      echo <<<fzz
      <div>
      <span style="width:30px">i.</span><span>music-name</span>
      </div>
      <div>
      <span style="width:30px"></span><span>url</span>
      </div><br>
      fzz;
      flush();
      }
      }

      dbstr=serialize(db);//序列化數(shù)組
      file_put(file,dbstr);

      function file_put (file,db){
      fp=fopen(file,"w+");
      fwrite(fp,db);
      fclose(fp);
      }

      ?>
      <SCRIPT LANGUAGE="JavaScript">
      <!--
      alert("本次采集任務完成,刷新當前頁面繼續(xù)!");
      //-->
      </SCRIPT>

       

      分享:如何用PHP獲取歌曲時間
      PHP代碼 ?php file =realpath(1.mp3); //當前目錄下1.mp3 if (!file_exists(file)) { exit('文件不存在'); } player = new COM(WMPlayer.OCX); media = player-newMedia(file); time=media-duration;//總的秒數(shù) h=floor(time /3600);//小時 m=floor((tim

      來源:模板無憂//所屬分類:PHP教程/更新時間:2010-02-27
      相關PHP教程