{音乐站朋友收}最新版的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]