当前位置:首页> PHP教程> PHP代码
关键字
文章内容
PHP音乐采集(部分代码)
 
 
修改时间:[2011/04/15 19:15]    阅读次数:[1337]    发表者:[起缘]
 
<?PHP
set_time_limit
(0);
mysql_connect("localhost","root","");
mysql_select_Db("music_36g");

$ip = '127.0.0.1';

function
_GetIP()
{
        
$ip  = getenv("REMOTE_ADDR");
        
$ip1 = getenv("HTTP_X_FORWARDED_FOR");
        
$ip2 = getenv("HTTP_CLIENT_IP");
        (
$ip1) ? $ip = $ip1 : null ;
        (
$ip2) ? $ip = $ip2 : null ;
        return
$ip;
}
function
MakePassword($length=10)
{        
        
$password = '';
        
$chars =
                array
                (
                        
"1","2","3","4","5","6","7","8","9","0",
                        
"a","A","b","B","c","C","d","D","e","E","f","F","g","G","h","H","i","I","j","J",
                        
"k","K","l","L","m","M","n","N","o","O","p","P","q","Q","r","R","s","S","t","T",
                        
"u","U","v","V","w","W","x","X","y","Y","z","Z"
                
);

        
$count = count($chars) - 1;
        
srand((double)microtime()*1000000);

        for(
$i = 0; $i < $length; $i++)
        {
                
$password .= $chars[rand(0, $count)];
        }
        return(
$password);
}

if (
_GetIP() != $ip )
{
        exit(
"Can't Run!");
}


for (
$i=2;$i<5769;$i++)//52738
{
        
$url = "http://music.36g.net/SpecialInfo/showspecial".$i.".htm";

        
$File = @fopen($url,'rb');
        if (
$File )
        {
                
$makeFile = $buffer = "";
                
$buffer = "";
                while (
$buffer = fread($File,4096))
                {
                        
$makeFile = $makeFile.$buffer;
                }
                @
fclose($File);

                
                
preg_match("/src=\/uppic\/(.*) width=135/",$makeFile,$pic);#图片
                #下载图片
                
if ( $pic[1]!='es/Nophoto.gif' )
                {
                        
$p_url = "http://music.36g.net/uppic/".$pic[1];
                        
                        
$File2 = fopen($p_url,'rb');
                        if (
$File2 )
                        {
                                
$Buffer2 = $makeFile2 = "";
                                while (
$Buffer2 = fread($File2,4096))
                                {
                                        
$makeFile2 = $makeFile2.$Buffer2;
                                }
                                
fclose($File2);
                        
                        
                                
$Filename2 = './pic/'.$pic[1];
                                
$Fp2 = fopen ($Filename2,'w+');
                                
fwrite($Fp2,$makeFile2);
                                
fclose($Fp2);
                        }
                }
                else
                {
                        
$pic[1] = '';
                }

                
preg_match("/专辑:<\/strong>(.*)<\/td><td width=(\d+) rowspan=6/",$makeFile,$name);#专辑名称
                
$name = addslashes($name[1]);
                
                
preg_match("/歌手:<\/strong>(.*)<\/td><\/tr><tr><td>/",$makeFile,$songer);#歌手名称
                
preg_match("/(.*)<\/td><\/tr><tr><td>/",$songer[1],$songer_name);#歌手名称
                
preg_match("/发行公司:<\/strong>(.*)/",$songer[1],$company);#发行公司

                
preg_match("/发行时间<\/strong>:(.*)<\/td> <\/tr>/",$makeFile,$date);#发行时间
                
preg_match("/(.*)<\/td>/",$date[1],$date2);#发行时间
                
preg_match("/<\/strong>(.*)/",$date[1],$language);#发行语言


                
preg_match("/专辑简介:<\/strong><\/td> <td colspan=2>(.*)<\/td><\/tr><\/table><br>/",$makeFile,$descript);#专辑简介


                
$songer_name = addslashes($songer_name[1]);        
                
$company= addslashes($company[1]);

                
$descript= addslashes($descript[1]);
                
                
#取得歌曲ID
                
preg_match_all("/download1\.asp\?id=(\d+)&which=BakDownUrl1/",$makeFile,$id2);#歌曲ID

                
$num = count($id2[1]);
                for (
$jj=0;$jj<$num;$jj++)
                {        
                        
$sql = " insert into tx_music set musicID='".$id2[1][$jj]."',specialID='$i',specialName='$name',songerName='$songer_name',orderByID='".$id2[1][$jj]."' ";
                        
//echo $id2[1][$jj]."<br>";
                        
mysql_query($sql);
                }
                
                
//echo $descript."<br><br>";
                                        
                
$sql = " insert into tx_special set orderByID='$i',specialID='$i',specialName='$name',songerName='$songer_name',company='$company',date='$date2[1]',language='$language[1]',picture='$pic[1]',musicNum='$num',createDate='".time()."',description='$descript' ";
                echo
$sql;
                
mysql_query($sql);

        }
}


?>