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 相关文章推荐
php adodb分页实现代码
Mar 19 PHP
一些被忽视的PHP函数(简单整理)
Apr 30 PHP
php中serialize序列化与json性能测试的示例分析
Apr 27 PHP
PHP随机字符串生成代码(包括大小写字母)
Jun 24 PHP
php中mysql操作buffer用法详解
Mar 19 PHP
PHP5.2中PDO的简单使用方法
Mar 25 PHP
PHP实现支持加盐的图片加密解密
Sep 09 PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
Sep 13 PHP
CakePHP框架Model函数定义方法示例
Aug 04 PHP
php之可变变量的实例详解
Sep 12 PHP
PHP 断点续传实例详解
Nov 11 PHP
laravel框架关于搜索功能的实现
Mar 15 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
一拳超人中怪人协会钦定! S级别最强四人!
2020/03/02 日漫
细谈php中SQL注入攻击与XSS攻击
2012/06/10 PHP
php下载文件的代码示例
2012/06/29 PHP
PHP基于数组实现的分页函数实例
2014/08/20 PHP
php图片裁剪函数
2018/10/31 PHP
JavaScript去除空格的几种方法
2006/10/03 Javascript
javascript 函数式编程
2007/08/16 Javascript
异步javascript的原理和实现技巧介绍
2012/11/08 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
JavaScript通过join函数连接数组里所有元素的方法
2015/03/20 Javascript
浅谈Javascript中substr和substring的区别
2015/09/30 Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
2015/12/03 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
JS调用Android、Ios原生控件
2017/01/06 Javascript
JavaScript 动态三角函数实例详解
2017/01/08 Javascript
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
微信小程序 常用工具类详解及实例
2017/02/15 Javascript
vue中created和mounted的区别浅析
2019/08/13 Javascript
node.js中module模块的功能理解与用法实例分析
2020/02/14 Javascript
Vue实现简易购物车页面
2020/12/30 Vue.js
使用Python编写Linux系统守护进程实例
2015/02/03 Python
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
2015/05/15 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
2018/04/05 Python
终端命令查看TensorFlow版本号及路径的方法
2018/06/13 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
Keras之fit_generator与train_on_batch用法
2020/06/17 Python
牵手50台湾:专为黄金岁月的单身人士而设的交友网站
2021/02/18 全球购物
Java Servlet API中forward() 与redirect()的区别
2014/04/20 面试题
计算机应用专业应届毕业生中文求职信范文
2013/11/29 职场文书
财产公证书格式
2014/04/10 职场文书
离婚代理词范文
2015/05/23 职场文书
感恩父母主题班会
2015/08/12 职场文书
教师理论学习心得体会
2016/01/21 职场文书
倡议书怎么写?
2019/04/11 职场文书
mysql多表查询-笔记七
2021/04/05 MySQL
HTML速写之Emmet语法规则的实现
2021/04/07 HTML / CSS