PHP音乐采集(部分代码)

所属分类: 网络编程 / PHP编程 阅读数: 803
收藏 0 赞 0 分享
<?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);

        }
}
?>
更多精彩内容其他人还在看

TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例

这篇文章主要介绍了TP5(thinkPHP5)框架基于ajax与后台数据交互操作,结合实例形式分析了thinkPHP5前端基于jQuery的ajax数据提交及后台数据接收、处理相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP利用Mysql锁解决高并发的方法

这篇文章主要介绍了PHP利用Mysql锁解决高并发的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

php 后端实现JWT认证方法示例

这篇文章主要介绍了php 后端实现JWT认证方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

ThinkPHP框架实现定时执行任务的两种方法分析

这篇文章主要介绍了ThinkPHP框架实现定时执行任务的两种方法,结合实例形式分析了2种被动执行定时任务的相关操作技巧与注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP命名空间与自动加载类详解

这篇文章主要介绍了PHP命名空间与自动加载类,结合实例形式详细分析了php自动加载类与命名空间原理、使用方法及相关操作注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP时间处理类操作示例

这篇文章主要介绍了PHP时间处理类,结合实例形式分析了DateTime、DateTimeZone、DateInterval及DatePeriod等常用日期时间处理类简单操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

利用PHP扩展Xhprof分析项目性能实践教程

XHProf是Facebook开发的性能调试工具,能帮助直观的统计显示PHP程序执行中各方法函数调用次数和消耗时间,以方便我们排查性能瓶颈并进行调优。下面这篇文章主要给大家介绍了关于利用PHP扩展Xhprof分析项目性能实践的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Django 标签筛选的实现代码(一对多、多对多)

这篇文章主要介绍了Django 标签筛选的实现代码(一对多、多对多),本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP使用pdo实现事务处理操作示例

这篇文章主要介绍了PHP使用pdo实现事务处理操作,结合实例形式较为详细的分析了php基于pdo实现事务处理的相关原理与操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

thinkPHP框架实现类似java过滤器的简单方法示例

这篇文章主要介绍了thinkPHP框架实现类似java过滤器的简单方法,结合实例形式分析了thinkPHP基于继承实现的登录验证功能相关操作方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多