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中使用反射技术的架构插件使用说明
May 18 PHP
PHP为表单获取的URL 地址预设 http 字符串函数代码
May 26 PHP
php中对2个数组相加的函数
Jun 24 PHP
PHP解决URL中文GBK乱码问题的两种方法
Jun 03 PHP
PHP中iconv函数转码时截断字符问题的解决方法
Jan 21 PHP
php简单实现无限分类树形列表的方法
Mar 27 PHP
PHP中error_reporting()用法详解
Aug 31 PHP
PHP递归获取目录内所有文件的实现方法
Nov 01 PHP
php 自定义错误日志实例详解
Nov 12 PHP
PHP两种实现无级递归分类的方法
Mar 02 PHP
PHP代码重构方法漫谈
Apr 17 PHP
PHP htmlspecialchars()函数用法与实例讲解
Mar 08 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
mayfish 数据入库验证代码
2010/04/30 PHP
php获取数组长度的方法(有实例)
2013/10/27 PHP
ThinkPHP连接Oracle数据库
2016/04/22 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
2010/11/05 Javascript
用Jquery实现多级下拉框无刷新的联动
2010/12/22 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
2013/04/02 Javascript
无缝滚动js代码通俗易懂(自写)
2013/06/19 Javascript
浅谈js多维数组和hash数组定义和使用
2016/07/27 Javascript
jQuery中animate的几种用法与注意事项
2016/12/12 Javascript
javascript使用btoa和atob来进行Base64转码和解码
2017/03/20 Javascript
javascript深拷贝的原理与实现方法分析
2017/04/10 Javascript
微信小程序实现文字跑马灯效果
2020/05/26 Javascript
JS查找孩子节点简单示例
2019/07/25 Javascript
基于layui实现高级搜索(筛选)功能
2019/07/26 Javascript
layer.alert回调函数执行关闭弹窗的实例
2019/09/11 Javascript
python刷投票的脚本实现代码
2014/11/08 Python
Python工程师面试题 与Python Web相关
2016/01/14 Python
Python实现的多线程http压力测试代码
2017/02/08 Python
python实现机器人行走效果
2018/01/29 Python
python 实时得到cpu和内存的使用情况方法
2018/06/11 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
python网络编程socket实现服务端、客户端操作详解
2020/03/24 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
CSS3 伪类选择器 nth-child()说明
2010/07/10 HTML / CSS
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
The North Face北面美国官网:美国著名户外品牌
2018/09/15 全球购物
SK-II神仙水美国官网:SK-II美国
2020/02/25 全球购物
实习评语
2013/12/16 职场文书
如何写一份好的自荐信
2014/01/02 职场文书
优秀大学生的自我评价
2014/01/16 职场文书
理想点亮人生演讲稿
2014/05/21 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
公司授权委托书
2014/10/17 职场文书
中国汉字听写大会观后感
2015/06/02 职场文书
javascript的setTimeout()使用方法总结
2021/11/20 Javascript