<%
function gethttppage(url)
dim http
'调用XMLHTTP组件创建一个对象并进行出设置
set http=server.createobject("msxml2.xmlhttp")
'通过get方法向服务器 发送命令
http.open"get","url,false
http.send()
'判断程序运行成功
if http.readstate<>4 then
exit function
end if
'-------------------
'对服务器返回的数据进行处理
gethttppage=bytestobstr(http.responseBody,"GB2312")
'释放对象,节约资源
set http=nothing
if err.number<>0 then err.clear
end function
''''''''''处理抓取回来的数据需要调用adodb.stream组件并惊醒初始化设置,有下面一段代码来完成
function BytesTostr(body,Cset)
dim objstream
set objstream=server.createobject("adodb.stream")
objstream.type=1
objstreammode=3
objstream.open
objstream.write body
objstream.position=0
objstream.type=2
objstream.charset=cset
bytestostr=objstream.readtext
objstream.close
set objstream=nothing
end function
''--------------------------
function newstring(wstr,strng)
newstring=instr(wstr,stng)
end functiion
''''定义一、写需要使用到的变量
dim url, html,start,over,b,str,str1,i,j,str2,usename
'指定抓取数据的地址
url=http://macao.7m.cn/soccer/show_soccer.aspx
'调用gethttppage 函数,将函数返回值给 strRet,strRet保存我们抓取回来的源代码
strRet=gethttppage(url)
'调用newstring 对字符串进行处理
start=newstring(strRet,"电视")
over=newstring(strRet,"备注")
'''调用mid截取字符串并复制给strret
strret=replace(strRet,"new array")
'调用split函数处理字符串strret以叔祖的形式村入strret
for i=2 to Ubound(strRet)
'提取一行,把以分割的数据村如叔祖str
str=split(strret(i),",")
'获得叔祖最大的下标
j=ubound(str)
for k=0 to j
if k=0 then
str(k)=replace(str(k),"(","")
end if
if k=j-1 then
str(k)=replace(str(k),")","")
end if
str(k)=replace(str(k),'','')
''''字符串处理结束存入数据库
'初始化 recordset 对象
set rs=server.createobject("adodb.recordset")
'初始化sql语句
sql="select * from data where (id is null)"
rs.open sql,conn,1,3
'开始添加数据
rs.addnew
'判断数据类型 j=2 的时候是联赛的比赛节目
if j=2 then
rs("type")=str(0)
rs("str1")=str(1)
rs("str2")=str(2)
rs("datetoday")=date()
end if
'j>2 and j<8 说明数据为联赛名称
if j>2 and j<8 then
rs("type")=str(0)
rs("str1")=str(1)
rs("str2")=str(2)
rs("datetoday")=date()
end if
if j>8 then
rs("type")=str(0)
rs("str1")=str(1)
rs("str2")=str(2)
rs("num1")=str(3)
rs("name1")=str(4)
rs("num2")=str(5)
rs("score1")=str(6)
rs("num3")=str(8)
rs("name2")=str(9)
rs("score2")=str(10)
rs('datetoday")=date()
rs("flag_updown1")=0
rs("flag_show1")=0
rs("flag_updown2")=0
rs("flag_show2")=0
end if
rs.update
'关闭记录
rs.close
'显示数据是否添加数据库,如果运行正确,则给出提示
m=i-1
response.write m
response.write("ok!<br>")
next
conn.close
set conn=nothing
%>