4,008
社区成员
发帖
与我相关
我的任务
分享
</strong></td>
<td bgcolor="#E4F1FB">05 </td><td bgcolor="#E4F1FB" class="fsfx_red_selceted">25 </td><td bgcolor="#E4F1FB" class="fsfx_red_selceted">08 </td><td bgcolor="#E4F1FB">04 </td><td bgcolor="#E4F1FB">09 </td><td bgcolor="#E4F1FB">07 </td><td bgcolor="#E4F1FB" class="fsfx_red_selceted">06 </td><td bgcolor="#E4F1FB">03 </td><td bgcolor="#E4F1FB">19 </td><td bgcolor="#E4F1FB">29 </td><td bgcolor="#E4F1FB">15 </td><td bgcolor="#E4F1FB">11 </td><td bgcolor="#E4F1FB">21 </td><td bgcolor="#E4F1FB">18 </td><td bgcolor="#E4F1FB">31 </td><td bgcolor="#E4F1FB">26 </td><td bgcolor="#E4F1FB" class="fsfx_red_selceted">12 </td><td bgcolor="#E4F1FB">10 </td><td bgcolor="#E4F1FB">20 </td><td bgcolor="#E4F1FB">32 </td><td bgcolor="#E4F1FB">13 </td><td bgcolor="#E4F1FB">16 </td><td bgcolor="#E4F1FB">17 </td><td bgcolor="#E4F1FB">28 </td><td bgcolor="#E4F1FB" class="fsfx_red_selceted">14 </td><td bgcolor="#E4F1FB">02 </td><td bgcolor="#E4F1FB">23 </td><td bgcolor="#E4F1FB">30 </td><td bgcolor="#E4F1FB">22 </td><td bgcolor="#E4F1FB">33 </td><td bgcolor="#E4F1FB">24 </td><td bgcolor="#E4F1FB">27 </td><td bgcolor="#E4F1FB" class="fsfx_red_selceted">01 </td> </tr>
set http=createobject("Microsoft.XMLHTTP")
url="http://www.500wan.com/pages/info/ssq/inc/fsfx_inc.php?expect=10054"
http.open "get",url,false
http.send
code=GetSourceCode(Http.responsebody)
Dim fso, MyFile '
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("D:\我的文档\桌面\sourcecode.txt", True) '
MyFile.WriteLine(code) '将流对象写入文件对象testfile记事本里面
MyFile.Close '关闭文件
Function GetSourceCode(vIn) '功能函数GetSourceCode负责从网页中读取源代码
strReturn = ""
For i = 1 To LenB(vIn) '返回用于代表字符串的字节数。
ThisCharCode = AscB(MidB(vIn,i,1)) 'AscB 不是返回第一个字符的字符代码,而是返回首字节
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
GetSourceCode = strReturn
End Function
'从一个记事本里面读取数据写入另外一个记事本
Dim fso,ts1,ts2,ts3,MyFile1,MyFile2,MyFile3 '定义fso,ts流对象 和 两个文件对象MyFile,MyFile2
Set fso = CreateObject("Scripting.FileSystemObject") '创建文件系统对象fso
set ts=fso.opentextfile("D:\我的文档\桌面\sourcecode.txt",1,true) 'ts接受由fso打开的记事本testfile对象里面的数据
contents=ts.ReadAll
'首次打开截取到 红球统计按次数大小——————到——————————蓝球统计按次数大小,让其下面的东西变成唯一标识
Set MyFile1 = fso.CreateTextFile("D:\我的文档\桌面\tempData1.txt", True) '创建新的记事本对象lottery
str=contents
StartStr="红球统计按次数大小"
EndStr= "蓝球统计按次数大小"
result1= GetStrBetween(Str,StartStr,EndStr)
MyFile1.WriteLine(result1) '将参数value写入记事本lottery
MyFile1.Close '关闭文件对象
'再次打开tempData1记事本,再次截取"号码"————"</tbody>"之间的信息,并保存到tempData2中
Set MyFile2 = fso.CreateTextFile("D:\我的文档\桌面\tempData2.txt", True) '创建新的记事本对象lottery
set ts2=fso.opentextfile("D:\我的文档\桌面\tempData1.txt",1,true) 'ts接受由fso打开的记事本testfile对象里面的数据
Do While Not ts2.atendofstream
str =ts2.ReadAll
Loop
StartStr="号码"
EndStr= "</tbody>"
result2= GetStrBetween(Str,StartStr,EndStr)
MyFile2.WriteLine(result2) '将参数value写入记事本lottery
MyFile2.Close
'第三次打开lottery记事本,进行替换,将无用信息替换掉
Set MyFile3 = fso.CreateTextFile("D:\我的文档\桌面\Data.txt", True) '创建新的记事本对象lottery
Set ts3=fso.opentextfile("D:\我的文档\桌面\tempData2.txt",1,true) 'ts接受由fso打开的记事本testfile对象里面的数据
Do While Not ts3.atendofstream
str =ts3.ReadAll
Loop
Dim aimStr(10)
aimStr(0)="<td bgcolor="
aimStr(1)="#E4F1FB" '需要替换的无用信息
repStr= " "
For i=0 To 2
desStr=aimStr(i)
res = strReplace(str,desStr,repStr)
MyFile3.WriteLine(res)
'MyFile3.Close
'Set t0=fso.OpenTextFile("D:\我的文档\桌面\Data.txt",1,true)
'Do While Not ts3.atendofstream
' str =ts3.ReadAll
'Loop
i=i+1
Next
MyFile3.Close '替换成空白信息
'将参数value写入记事本lottery
'Set f2 = fso.GetFile("D:\我的文档\桌面\tempData1.txt")
'Set f3 = fso.GetFile("D:\我的文档\桌面\tempData2.txt") ' 删除文件。
'f2.Delete
'f3.Delete
'----封装的功能函数GetStrBetween读取两个字符串之间的字符----
Function GetStrBetween(Str,StartStr,EndStr)
StartStrPos = Instr(Str, StartStr)+Len(StartStr)
EndStrPos = Instr(Str,EndStr)
Length = EndStrPos - StartStrPos
Res= Mid(Str,StartStrPos,Length)
getStrBetween = Res '这句是返回值类型
End Function
'----函数功能结束----
'----替换函数封装----
Function strReplace(str,aimStr,repStr)
resStr= Replace(str , aimStr ,repStr)
strReplace=resStr
End Function
'----替换函数结束----
'***********************注释***************************************************
'总结
'value=ts.read(20)'用参数value接收由读取字符ts对象的前20个字符
'line=ts.readline
'contents=ts.ReadAll
'do while ts.atendofstream<>true
设计思路
首先生成 获取网站所有源代码的SourceCode.txt,取得所有源代码
其次,第一次截取SourceCode中红球统计按大小保存tempData1
再次,第二次截取tempData1中号码到table中含有33个号码排序的信息,并保存在tempData2中
最后,第三次打开tempData2进行替换,并最终保存在Data记事本中,删除tempData1,tempdata2