[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
我用vbs写了一个很傻的,但是没有用到第三方。主要是练习vbs的。

增加了两处错误处理,不是那么容易死了。
  1. '比较傻的 Load http://www.yi-look.com/ 文本小说的脚本,代码是根据该网页特征写的
  2. '即,该脚本只能用于 yilook 上的 Load
  3. '必须进入到要 Load 的小说的首页,复制下 URL,作为参数运行该脚本,用如下命令
  4. 'cscript //Nologo //E:vbscript gyilook.vbs http://www.yi-look.com/art_??_??.html
  5. '会在脚本当前目录下生成一个小说名的目录,里面按照 "第??节.txt" 保存文件
  6. Option Explicit
  7. Dim regExUrl
  8. Set regExUrl = new RegExp
  9. regExUrl.Pattern= "http://www.yi-look.com/art_\d+_\d+.html"
  10. If regExUrl.Test(WScript.Arguments(0)) = False Then
  11. Wscript.echo "Maybe Not yi-look's URL?"
  12. WScript.Quit
  13. End If
  14. Set regExUrl = Nothing
  15. Dim loadPage
  16. Dim oDom
  17. Do
  18. Wscript.echo "Loading the first page..."
  19. set oDom = WScript.GetObject(WScript.Arguments(0))
  20. loadPage = WaitLoading(oDom)
  21. loop While loadPage = False
  22. Dim dirName
  23. Dim e
  24. For each e in oDom.all
  25. If e.tagName = "TITLE" Then
  26. If Right(e.outerText, 2) = "易读"  Then
  27. dirName = Left(e.outerText, (Len(e.outerText) - 3))
  28. Exit For
  29. Else
  30. Wscript.echo "Maybe Not real yi-look's URL?"
  31. WScript.Quit
  32. End If
  33. End If
  34. Next
  35. Dim fso
  36. Set fso = CreateObject("Scripting.FileSystemObject")
  37. Do While fso.FolderExists(dirName)   
  38. dirName = dirName & "0"
  39. Loop
  40. fso.CreateFolder(dirName)   
  41. Set fso = Nothing
  42. Dim regEx
  43. Set regEx = new RegExp
  44. regEx.Pattern= "第\d+节"
  45. Dim lnk
  46. For each lnk in oDom.links
  47. If (regEx.Test(lnk.outerText)) Then
  48. Dim oDomX
  49. Do
  50. Wscript.echo "Loading " & lnk.outerText & "... " & lnk.href
  51. On Error Resume Next
  52. Set oDomX = WScript.GetObject(lnk.href)
  53. If Err.Number = 0 Then
  54. loadPage = WaitLoading(oDomX)
  55. Else
  56. Wscript.echo "ERROR #" & CStr(Err.Number) & " " & Err.Description
  57. Wscript.echo "Try again!!!"
  58. Err.clear
  59. loadPage = False
  60. End If
  61. loop While loadPage = False
  62. Dim fn
  63. fn = dirName & "\" & lnk.outerText & ".txt"
  64. Call WriteTextFile(fn, oDomX.body.outerText)
  65. Set oDomX = Nothing
  66. End If
  67. Next
  68. Set oDom = Nothing
  69. Set regEx = Nothing
  70. Function WaitLoading(DomObj)
  71. Const TickOut = 60
  72. Dim tick
  73. tick = 0
  74. Do until DomObj.readyState = "complete"
  75. tick = tick + 1
  76. If tick > TickOut Then
  77. WScript.echo "Timed out! Load failed... Try again! "
  78. Exit Do
  79. End If
  80. WScript.sleep 500
  81. Loop
  82. WaitLoading = (tick <= TickOut)
  83. End Function
  84. Sub WriteTextFile(FileName, TextString)
  85. Const ForReading = 1, ForWriting = 2, ForAppending = 8
  86. Dim fso, f
  87. Set fso = CreateObject("Scripting.FileSystemObject")
  88. Set f = fso.OpenTextFile(FileName, ForWriting, True, -1)
  89. f.Write TextString
  90. f.Close
  91. Set fso = Nothing
  92. Set f = Nothing
  93. End Sub
复制代码

[ 本帖最后由 sig13 于 2010-4-29 18:30 编辑 ]

TOP

我才调试完,yi-look就又被关了,什么世道?
不是我一个人连不上吧?
---
居然又开了,之前的脚本在load页面失败之后就挂了,增加了纠错功能,现在应该没问题了

[ 本帖最后由 sig13 于 2010-4-29 15:40 编辑 ]

TOP

返回列表