本帖最后由 kld_map 于 2012-6-22 12:30 编辑
请高手指点,想快速批量提取网页中的超链接.本人是小白一个..
非常感谢.

卡饭有个高人给我的写的提取网页源码中ed2k链接的代码,我想下面这段代码修改一下,应该能实现,但我不知道怎么修改。。
- Set ObjHttp = CreateObject("Microsoft.XMLHTTP")
- SourceURL = inputbox(vbcrlf & "提取完成后您将收到一个提示。这个过程中" & vbcrlf & _
- vbcrlf & "请耐心等待,文件结果保存在:ed2k.txt" & vbcrlf & _
- vbcrlf & "请输入链接地址:" & vbcrlf, "Get ED2K Link", "http://" )
- IF SourceURL = "" Then wscript.quit(1)
- ObjHttp.Open "Get", SourceURL, false
- ObjHttp.Send
- SourceCode = Conver(ObjHttp.responsebody)
- Set ObjFSO = CreateObject("Scripting.FileSystemObject")
- ObjFSO.OpenTextFile("s.txt", 8, true).Write SourceCode
- Set ReadFile = ObjFSO.OpenTextFile("s.txt", 1, True)
- Do While Not ReadFile.AtEndOfStream
- EveryLine = ReadFile.ReadLine
-
- If Left(EveryLine, 14) = "var g_filelist" Then
- Arr = Split(Split(EveryLine, "=[")(1), ",")
- For K = 0 To UBound(Arr)-LBound(Arr)
- K = K + 1
- If Left(replace(mid(Arr(K), 9), """}", ""), 4) = "ed2k" Then
- ObjFSO.OpenTextFile("ed2k.txt", 8, true).Write(replace(mid(Arr(K), 9), """}", "") & vbcrlf)
- End If
- Next
- Exit Do
- End If
- Loop
- ReadFile.Close
- ObjFSO.DeleteFile ".\s.txt"
- MsgBox "已完成全部作业!", 64, "Get ED2K Link"
- Function Conver(vIn)
- strReturn = ""
- For i = 1 To LenB(vIn)
- ThisCharCode = AscB(MidB(vIn,i,1))
- 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
- Conver = strReturn
- End Function
复制代码 |