[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
应该放在VBS出题区比较好吧?
而且也没有什么挑战性,会VBS且会xmlhttp、adodb.stream、DOM等常见“第三方”对象的使用,本题迎刃而解,关键是要知道那几个对象。

其实我想问这个问题:如何用vbs从图片中读出验证码(如果有人研究出来了,肯定不能随便公开^@^)

TOP

【悟空道:“但凭尊师教诲,只是有些道气儿,弟子便就学了。”】与【只是有些道气儿】
如果短句子在前面呢?怎么处理?

TOP

vbs
  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. Set dict = CreateObject("Scripting.Dictionary")
  3. downloader "http://bbs.tt365.net.cn/viewthread.php?tid=161145", "E:\test\aaa.htm"
  4. Set oDOM = GetObject("E:\test\aaa.htm", "htmlfile")
  5. Do Until oDOM.readyState="complete" : WScript.Sleep 200 : Loop 'complete
  6. Set tags = oDOM.getElementsByTagName("td")
  7. for each tag in tags
  8.     if 1=InStr(tag.Id,"postmessage_") then
  9.         'WScript.echo tag.innerText
  10.         StrStrReg tag.innerText, "【([^【】]+)】"
  11.     end if
  12. next
  13. Set ts = fso.OpenTextFile("result.txt", 2, true)
  14. for each key in dict.Keys()
  15.     'WScript.echo key
  16.     ts.WriteLine key
  17. next
  18. ts.Close()
  19. function downloader(url, file)
  20.   dim XMLHTTP, AdoStrm
  21.   Set XMLHTTP = CreateObject("Microsoft.XMLHTTP")
  22.   XMLHTTP.Open "GET", url, false
  23.   XMLHTTP.Send()
  24.   set AdoStrm = CreateObject("ADODB.Stream")
  25.   AdoStrm.Mode = 3
  26.   AdoStrm.Type = 1
  27.   AdoStrm.Open()
  28.   AdoStrm.Write XMLHTTP.ResponseBody
  29.   AdoStrm.SaveToFile file, 2
  30. end function
  31. function StrStrReg(srcStr, subStr)
  32.   dim regEx, Matches, Match, ret
  33.   set regEx = CreateObject("VBScript.RegExp")
  34.   regEx.Pattern = subStr
  35.   regEx.Global = true
  36.   regEx.IgnoreCase = false
  37.   set Matches = regEx.execute(srcStr)
  38.   for each Match in Matches
  39.     'ret = ret & Match.subMatches(0) & vbCrLf
  40.     Catch Match.subMatches(0)
  41.   next
  42.   StrStrReg = ret
  43. end function
  44. function Catch(txt)
  45.   for each key in dict.Keys()
  46.     if InStr(key,txt) then exit function
  47.   next
  48.   dict.Add txt, 1
  49. end function
复制代码
1

评分人数

    • batman: 没想到vbs正则真的做到了PB + 20

TOP

返回列表