PHP音乐采集(部分代码)

5年以前  |  阅读数:252 次  |  编程语言:PHP 

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

    }   

}
?>

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例