鬼话在线论坛's Archiver

消失的王者 发表于 2006-11-27 22:53

{音乐站朋友收}最新版的520MUSIC..com采集入库程序代码

100%采集,只供研究,代码修改天问.更多了解
QQ280345501
[url]http://music.djqo.com[/url]

<!--#include file="Function.asp" -->
<!--#include file="conn.asp" -->
<%
Response.Expires = 0  
Response.expiresabsolute = Now() - 1  
Response.addHeader "pragma", "no-cache"  
Response.addHeader "cache-control", "private"  
Response.CacheControl = "no-cache"
Response.Buffer = True
Response.Clear
Server.ScriptTimeOut=999999999
%>
<html>
<head>
<meta http-equiv=""Content-Type"" content=""text/html; charset=gb2312"">
<title>音乐批量添加插件</title>
<style type="text/css">
a:link,a:visited        { text-decoration: none; color: #003366 }
a:hover                        { text-decoration: underline }
body                        { scrollbar-base-color: #F8F9FC; scrollbar-arrow-color: #DDE3EC; font-size: 12px;  }
table                        { font-family: Tahoma, Verdana; color: #000000; font-size: 12px }
</style>
</head>
<body>
<%
                 Dim StarId   
                 Dim OverId
                 StarId = Request("StarId")   
                 OverId = Request("OverId")
                 SaveMode = request("SaveMode")  
                ImgFile = "img" '图片保存路径
                ToFiles = "Movie"  '音乐文件保存路径   

              Url = "http://www.520music.com/MusicList/520music.com_[ID].htm"  
     response.write "<font color=red>还要入库"&OverId-StarId&"张专集;</font>开始读取数据,请耐心等待...<br>" &vbcrlf
     response.Flush         
          Cln_ = 0
            For Alb_I = StarId To OverId
              CIn_        = CIn_ + 1
              GetUrl      = Replace(Url,"[ID]",Alb_I)
              GetMusic    = GetFileText(GetUrl)    '获取专集页内容
         If GetMusic <> "" then
              SClass      = TlContent(GetMusic,"当前位置 > <a href=""../index.htm"">音乐首页</a> >","网站招聘",0)       '分类
              SClass      = TlContent(SClass,".htm>","</a>",0)        
                      NClass      = TlContent(GetMusic,"歌手名称:","</li>",0)   '歌手
              ABC         = left(NClass,instr(NClass,NClass)+0)
              ABC         = GetPyChar(ABC)                               '歌手字母
              Name        = TlContent(GetMusic,"专辑名称:","</li>",0)   '专集名称
              Yuyan       = TlContent(GetMusic,"专辑语种:","</li>",0)   '语言
              GongSi      = TlContent(GetMusic,"唱片公司:","</li>",0)   '公司
              Times       = TlContent(GetMusic,"发行时间:","</li>",0)  '发行时间
              info        = TlContent(GetMusic,"专辑介绍</h2><p>","</p>",0)  '介绍         
              img         = TlContent(GetMusic,"<div id=""albuminfo""><img src=""",""">",0)  '图片
             if img <> "" then
              img         = fso_myfile(img, ImgFile, Gbl_Cookie, UserAgent,"0")
             end if        
        set rs=server.CreateObject("ADODB.RecordSet")
        Sql="Select * From SClass Where SClass='"&SClass&"'"
        Rs.Open Sql,Conn,1,3
        If Rs.Eof And Rs.Bof Then
                Rs.AddNew
        End If
        rs("SClass")=SClass
        rs("Classid")=1
        Rs.Update
        Rs.Close
        Set Rs = Nothing
        Set rsc = Conn.Execute("select * from SClass where SClass='"&SClass&"'")
        SClassID=rsc("SClassID")
        rsc.close
        set rsc=nothing
        '处理歌手的二级类别,如数据库中没有该类别,则增加
        set rst=server.CreateObject("ADODB.RecordSet")
        Sql="Select * From NClass Where NClass='"&NClass&"'"
        Rst.Open Sql,Conn,1,3
        If Rst.Eof And Rst.Bof Then
                Rst.AddNew
        End If
        rst("NClass")=NClass
          rst("SClassID")=SClassID
          rst("abcd")=abc
        rst("ClassID")=1
          Rst.Update
        Rst.Close
        Set Rst = Nothing
        '取类别的ID号
        Set rsc = Conn.Execute("select * from NClass where NClass='"&NClass&"'")
        NClassID=rsc("NClassID")
        rsc.close
        set rsc=nothing
        '===================================================
        '可以开始写入专集记录
        set rs=server.CreateObject("ADODB.RecordSet")
        Sql="Select * From Special Where NClass='"&NClass&"'and Name='"&Name&"'"
        Rs.Open Sql,Conn,1,3
        If Rs.Eof And Rs.Bof Then
                Rs.AddNew
        End If
          rs("SClassID")=SClassID
        rs("SClass")=SClass
        rs("ClassID")=1
          rs("NClassID")=NClassID
          rs("NClass")=NClass
          rs("name")=name
          rs("Yuyan")=Yuyan
          rs("Gongsi")=Gongsi
          rs("Times")=Times
          rs("intro")=Info
          rs("pic")=img
        rs("hits")=0
        rs("formid")=id
          Rs.Update
        Rs.Close
        Set Rs = Nothing
        set rsedit=server.CreateObject("ADODB.RecordSet")
        Set rsedit = Conn.Execute("select * from Special where  NClass='"&NClass&"'and name='"&name&"'")
        SpecialID=rsedit("SpecialID")
        rsedit.close
        set rsedit=nothing           
          musicList  = TlContent(GetMusic,"<span class=""onesong"">","</ul><div id=""songact""><input name=""chkall2"" onclick=CheckAll(this.form) type=""button"" value=""全 选"" />",0)
          musicListN = Split(musicList,"<img src=../images/Send.gif border=0></a></span></li>")
                Response.Write "<li>专集:<font color=red>"&Name&"</font>.  歌手:"&NClass&"介绍:略"&len("TlInfo")&"字。共有" &Ubound(musicListN)-1& "首歌曲;开始入库歌曲-</li><br>"
                response.flush
          For i = 0 to Ubound(musicListN)-1
      'usetime是以秒计的
      t1=time()   
      usetime=0   
      while   not   (usetime>=2)   
      t2=time()   
      usetime=datediff("s",t1,t2)  
      wend

    musicLM    = musicListN(i)
                 musicname  = TlContent(musicLM,"search.asp?name="," target=_blank",0) '歌曲名称
                 musicURL   = "http://www.520music.com/play/" &TlContent(musicLM,"/play/"," target=_blank",0) '
                 musicURL   = TlContent(GetFileText(musicURL),"VALUE='""+url+""","'>",0) '歌曲名称

if SaveMode <> "" then
              musicURL = fso_myfile(musicURL, ToFiles, "", UserAgent,"1")
end if

              If instr(musicLM,"/geci/")>0 then
                 musicWord  = "http://www.520music.com/geci/" &TlContent(musicLM,"/geci/"," target=_blank",0) '
                 musicWord  = TlContent(GetFileText(musicWord),"<font class=geci>","</font>",0) '
              End If
                set rs=server.CreateObject("ADODB.RecordSet")
                Sql="Select * From MusicList Where wma='"&musicwma&"'"
                Rs.Open Sql,Conn,1,3
                If Rs.Eof And Rs.Bof Then
                        Rs.AddNew
                End If
                rs("wma")=musicURL
                rs("ClassID")=1
                  rs("SClassID")=SClassID
                  rs("NClassID")=NClassID
                  rs("Singer")=NClass
                  rs("SpecialID")=SpecialID
                  rs("musicname")=musicname
                rs("hits")=0
                  'rs("AddWordsUser")="本站"
                If musicWord <> "" then
                  rs("songwords")=musicWord
                End if
                  rs.update
                  rs.close
                Set Rs = Nothing
                    Response.Write "-【"&musicname&"】歌词略"&len(musicWord)&"字"
                response.flush
                                      NEXT
                    Response.Write "<b>-该专集入库已经完成</b><br>"
                response.flush
End if

IF CIn_ = 20 then  
        exit For
End if
    Next
IF Clng(StarID) >= Clng(OverID) then
         Response.Write "<font color=red size=4><b>采集完毕!</b></font>"

Else
IF CIn_ = 20 then
                        Response.Write "<script language=javascript>"
                        Response.Write "function dolink(){"
                        Response.Write "location.href='Get_Music.asp?StarID=" & Alb_I+1 & "&OverID=" & OverID & "&SaveMode=" & SaveMode & "';"
                        Response.Write "}"
                        Response.Write "setTimeout('dolink()',1000)"
                        Response.Write "</script>"
                        response.Flush

End IF
         Response.Write "<font color=red size=4><b>采集完毕!</b></font>"
End If
                         %>

</body>
</html>

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.