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 相关文章推荐
做个自己站内搜索引擎
Oct 09 PHP
使用php实现快钱支付功能(涉及到接口)
Jul 01 PHP
php+mysqli使用预处理技术进行数据库查询的方法
Jan 28 PHP
smarty模板引擎基础知识入门
Mar 30 PHP
php循环table实现一行两列显示的方法
Jun 04 PHP
Laravel实现构造函数自动依赖注入的方法
Mar 16 PHP
php使用glob函数遍历文件和目录详解
Sep 23 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
Feb 04 PHP
PHP实现模拟http请求的方法分析
Dec 20 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
Apr 23 PHP
详解提高使用Java反射的效率方法
Apr 29 PHP
thinkphp5框架API token身份验证功能示例
May 21 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实现下载功能的代码
2012/09/29 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
PHP Cookie学习笔记
2016/08/23 PHP
jQuery选择没有colspan属性的td的代码
2010/07/06 Javascript
Tips 带三角可关闭的文字提示
2010/10/06 Javascript
JS图片切换的具体方法(带缩略图版)
2013/11/12 Javascript
javascript根据像素点取位置示例
2014/01/27 Javascript
jQuery获得IE版本不准确webbrowser的解决方法
2014/02/23 Javascript
JS实现方向键切换输入框焦点的方法
2015/08/19 Javascript
分享10个优化代码的CSS和JavaScript工具
2016/05/11 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
2016/07/11 Javascript
如何利用JQuery实现从底部回到顶部的功能
2016/12/27 Javascript
利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
2017/02/16 Javascript
使用JavaScript根据图片获取条形码的方法
2017/07/04 Javascript
Three.js中网格对象MESH的属性与方法详解
2017/09/27 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
2018/02/21 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python完成FizzBuzzWhizz问题(拉勾网面试题)示例
2014/05/05 Python
python进程类subprocess的一些操作方法例子
2014/11/22 Python
分析在Python中何种情况下需要使用断言
2015/04/01 Python
Python基于正则表达式实现文件内容替换的方法
2017/08/30 Python
Django model序列化为json的方法示例
2018/10/16 Python
python+flask实现API的方法
2018/11/21 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2020/03/09 Python
重写django的model下的objects模型管理器方式
2020/05/15 Python
美国百年历史早餐食品供应商:Wolferman’s
2017/01/18 全球购物
上课看小说检讨书
2014/02/22 职场文书
专科应届毕业生求职信
2014/06/04 职场文书
离婚协议书怎么写(范本参考)
2014/09/30 职场文书
老干部工作汇报材料
2014/10/28 职场文书
中学生检讨书1000字
2014/10/28 职场文书
法律服务所工作总结
2015/08/10 职场文书
廉洁自律准则学习心得体会
2016/01/13 职场文书
工作一年自我鉴定
2019/06/20 职场文书