PHP音乐采集(部分代码)


Posted in PHP onFebruary 14, 2007

<?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 相关文章推荐
解决中英文字符串长度问题函数
Jan 16 PHP
mysql 中InnoDB和MyISAM的区别分析小结
Apr 15 PHP
php5 图片验证码实现代码
Dec 11 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
Jun 17 PHP
浅析is_writable的php实现
Jun 18 PHP
linux下实现定时执行php脚本
Feb 13 PHP
PHP 读取文本文件内容并分页显示
Jan 02 PHP
php版微信公众平台接口开发之智能回复开发教程
Sep 22 PHP
CentOS系统中PHP安装扩展的方式汇总
Apr 09 PHP
PHP chunk_split()函数讲解
Feb 12 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
Oct 22 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
Jun 06 PHP
一个数据采集类
Feb 14 #PHP
phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
Feb 11 #PHP
增加反向链接的101个方法 站长推荐
Jan 31 #PHP
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
Jan 29 #PHP
解决控件遮挡问题:关于有窗口元素和无窗口元素
Jan 28 #PHP
获得Google PR值的PHP代码
Jan 28 #PHP
一键删除顽固的空文件夹 软件下载
Jan 26 #PHP
You might like
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
2016/01/07 PHP
javascript getElementsByTagName
2011/01/31 Javascript
文档对象模型DOM通俗讲解
2013/11/01 Javascript
制作jquery遮罩层效果导航菜单代码分享
2013/12/25 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
2015/10/16 Javascript
js代码实现点击按钮出现60秒倒计时
2021/01/28 Javascript
jQuery树形控件zTree使用小结
2016/08/02 Javascript
微信小程序 教程之WXSS
2016/10/18 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
2016/12/09 Javascript
Angularjs中使用layDate日期控件示例
2017/01/11 Javascript
ajax实现加载页面、删除、查看详细信息 bootstrap美化页面!
2017/03/14 Javascript
令按钮悬浮在(手机)页面底部的实现方法
2017/05/02 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
微信小程序获取用户绑定手机号方法示例
2019/07/21 Javascript
关于layui flow loading占位图的实现方法
2019/09/21 Javascript
js实现车辆管理系统
2020/08/26 Javascript
Python批量重命名同一文件夹下文件的方法
2015/05/25 Python
Python中MySQL数据迁移到MongoDB脚本的方法
2016/04/28 Python
python 对象和json互相转换方法
2018/03/22 Python
Python实现的在特定目录下导入模块功能分析
2019/02/11 Python
Python爬取腾讯视频评论的思路详解
2019/12/19 Python
Python监听剪切板实现方法代码实例
2020/11/11 Python
python3中确保枚举值代码分析
2020/12/02 Python
python判断all函数输出结果是否为true的方法
2020/12/03 Python
CSS3实现10种Loading效果
2016/07/11 HTML / CSS
html5 canvas绘制矩形和圆形的实例代码
2016/06/16 HTML / CSS
澳大利亚排名第一的露营和户外设备在线零售商:Outbax
2020/05/06 全球购物
what is the difference between ext2 and ext3
2013/11/03 面试题
会计实习自我鉴定
2013/12/04 职场文书
爽歪歪广告词
2014/03/20 职场文书
紧急通知
2015/04/17 职场文书
学校运动会开幕词
2016/03/03 职场文书
Python集合set()使用的方法详解
2022/03/18 Python
mysql 索引的数据结构为什么要采用B+树
2022/04/26 MySQL