[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
太棒了这个东东,BAT  -  Beautiful, Amazing, Tool
BAT - Beautiful, Amazing, Tool !------- Rockets

TOP

BT 。。。好有动力撒

TOP

到这里就没有反应了,txt也没有下载下来! 怎么回事啊?

TOP

不行啊! 到这里就没有反应了,txt也没下载下来!

TOP

不知道这个东西对其他网站的适用吗

TOP

这个我不知道怎么用,楼主能帮忙说的详细些吗

TOP

不错,学习了。感谢楼主的分享

TOP

应该把 判断 改成 如果 ,那样就成了

%如果% %不% %存在文件% 目录文件\%目录文件% %显示% 下载目录出错!

这样是不是很好理解?啊哈哈哈

TOP

闲得蛋疼,整了个中文的,
功能没全,大家莫笑,呵
  1. @echo off
  2. :初始化
  3. set 设定=set
  4. %设定% 召唤=call
  5. %召唤% :设置
  6. :开始
  7. %设定标题% 易读下载器
  8. %打开网址% http://www.yi-look.com/
  9. %显示% 格式:http://www.yi-look.com/art_7826_3170.html
  10. %显示% 在下面粘贴如上所示[小说目录网址]并回车
  11. %设定%/p 小说网址=:
  12. :获取下载列表
  13. %设定标题% 正在获取下载列表
  14. %循环% /f "%取第几个%=3 %分隔符%=/" %%i in ("%小说网址%") do %设定% 目录文件=%%i
  15. %下载% %小说网址% >目录文件\%目录文件%
  16. %判断% %不% %存在文件% 目录文件\%目录文件% %显示% 下载目录出错!& %暂停% & %跳转到% %结束%
  17. %转换% 目录文件\%目录文件%
  18. %循环% /f %%i in ("%目录文件%") do %设定% 目录列表=%%~ni.txt
  19. %循环% /f "%取第几个%=3 %分隔符%= " %%i in ('%显示文件内容% 目录文件\%目录列表% ^|%查找% "TITLE "') do %设定% 小说名字=%%i
  20. %循环% /f "%取第几个%=3 %分隔符%=:" %%i in ('%显示文件内容% 目录文件\%目录列表% ^|%查找% "作者:"') do (
  21. %循环% /f "%取第几个%=2 %分隔符%=[]" %%j in ('%显示% %%i') do %设定% 小说名字+=%%j\%小说名字%
  22. )
  23. %创建目录% 小说文件\%小说名字+%\网页单章 小说文件\%小说名字+%\文本单章 %不显示任何信息%
  24. %清空屏幕%
  25. :开始下载
  26. %循环% /f "%取第几个%=1,2 %分隔符%=<'" %%a in ('%显示文件内容% 目录文件\%目录列表% ^|%查找% /i "节<'read"') do %召唤% :设定下载 %%a %%b
  27. %转换% 小说文件\%小说名字+%\网页单章\*.html %不显示任何信息%
  28. %移动% 小说文件\%小说名字+%\网页单章\*.txt 小说文件\%小说名字+%\文本单章\ %不显示任何信息%
  29. >小说文件\%小说名字+%\%小说名字%.txt %显示% %小说名字%
  30. %循环% /l %%i in (1 1 %最后一章%) do (
  31. >>小说文件\%小说名字+%\%小说名字%.txt %显示% 第%%i节
  32. >>小说文件\%小说名字+%\%小说名字%.txt %显示文件内容% 小说文件\%小说名字+%\文本单章\%%i.txt
  33. )
  34. %清空屏幕%
  35. %显示% 一切搞定!
  36. pause %不显示任何信息%
  37. %跳转到% %结束%
  38. :设定下载
  39. %设定% "章节序号=%~1"
  40. %设定% "章节序号=%章节序号:*第=%"
  41. %设定% "章节序号=%章节序号:~0,-1%"
  42. %设定% 最后一章=%章节序号%
  43. %设定标题% 正在下载 %小说名字% %章节序号%
  44. %下载% %网址%%~2 >小说文件\%小说名字+%\网页单章\%章节序号%.html
  45. %跳转到% %结束%
  46. :设置
  47. %设定% 删除目录=rd
  48. %设定% 创建目录=md
  49. %设定% 显示=echo
  50. %设定% 循环=for
  51. %设定% 取第几个=tokens
  52. %设定% 分隔符=delims
  53. %设定% 下载=curl
  54. %设定% 判断=if
  55. %设定% 不=not
  56. %设定% 不等于=NEQ
  57. %设定% 存在文件=exist
  58. %设定% 暂停=pause
  59. %设定% 跳转到=goto
  60. %设定% 结束=:eof
  61. %设定% 转换=htox32c /IP /O0 /U1+4
  62. %设定% 显示文件内容=type
  63. %设定% 查找=find
  64. %设定% "不显示任何信息=>nul 2>nul"
  65. %设定% 移动=move
  66. %设定% 清空屏幕=cls
  67. %设定% 设定标题=title
  68. %设定% 网址=http://www.yi-look.com/
  69. %设定% 打开网址=Start iexplore.exe
  70. %创建目录% 目录文件 %不显示任何信息%
  71. %创建目录% 小说文件 %不显示任何信息%
  72. %跳转到% %结束%
复制代码

TOP

[attach]2563[/attach]
有一种爱叫放弃

TOP

楼主强悍啊……慢慢学习消化一下

TOP

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

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

TOP

我用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

太厉害了。呵呵。下载阿

TOP

楼主真是太牛了,佩服,希望以后多多指点。呵呵。

TOP

返回列表