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

[文本处理] 多网站网络小说下载整理bat

还是那话,技术不行,就是还有点想法。因此挪用论坛多位高手的源码(谢谢啊)。做了这个网络小说整理bat,希望能痛快看书和收藏书。希望大家能喜欢。也欢迎高手们能对代码进行语句和思路上的精简。
能适合几个网站的在线阅读下载整理。应该能适合更多,没有找来测试。
  1. @echo off
  2. mode con cols=82 lines=35
  3. copy 配套软件\*.dll "%windir%" /y >nul
  4. copy 配套软件\*.exe "%windir%\system32\" /y >nul
  5. setlocal enabledelayedexpansion
  6. :cc
  7. title 网络小说 N HTML to ONE TXT 工具
  8. color 0f
  9. echo          网络小说 N HTML to ONE TXT 工具
  10. echo   ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━┓
  11. echo   ┃     目前支持网站  见帮助 H                     2014年6月30日完工   ┃仰天┃
  12. echo   ┃ 说  遵循网页规则  a 不支持UTF-8编码网页                            ┃长啸┃
  13. echo   ┃ 明                a 前面地址不变动,仅最后的有变动,可以下载。     ┗━━┫
  14. echo   ┃                   c 在目录页源文件里存在完整的网文地址的  可以下载。     ┃
  15. echo   ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
  16. echo   ┃ 功能  1  开始整理新小说(HTML to TXT)                                   ┃
  17. echo   ┃ 选项  2  继续整理前小说(HTML to TXT)假如前面不顺利,故事还是可以继续的 ┃
  18. echo   ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
  19. echo   ┃      有时有的网页不能下载但能跳过,可以用单个网页下载.bat来下载补全      ┃
  20. echo   ┃    但有的就直接卡死不跳过,可以关闭本工具,删除temp.ini里已下了的网页地址┃
  21. echo   ┃      保存后运行本工具选2会从卡死继续下载,继续原来的进度,避免重复下载。 ┃
  22. echo   ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
  23. echo   ┃           输入数字 1 or 2 选择功能  H 帮助    Q 退出                     ┃
  24. echo   ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  25. echo      测试有限,如有误请谅解。
  26. echo   鸣谢:直接参考挪用修改bathome论坛多位高手代码,“namejm”“apang”等,不一一具名,非常感谢!!
  27. echo.
  28. SET Choice=
  29. SET /P Choice=请输入数字 1 or 2 选择功能 H 帮助 Q(退出)回车确定---》
  30. echo.
  31. IF NOT '%Choice%'=='' SET Choice=%Choice:~0,1%
  32. IF /I '%Choice%'=='1' GOTO xin
  33. IF /I '%Choice%'=='2' GOTO jiu
  34. IF /I '%Choice%'=='q' GOTO exit
  35. IF /I '%Choice%'=='h' GOTO help
  36. goto cc
  37. :xin
  38. del *.htm?>nul 2>nul
  39. del *.txt>nul 2>nul
  40. del *.ini>nul 2>nul
  41. del /q 原始文档可留可删\*.*>nul 2>nul
  42. color 1e
  43. title 网页小说(HTML to TXT)----新书准备
  44. echo 文本网页下载保存 支持键盘输入
  45. reg add HKCU\console /v LoadConIme /t REG_DWORD /d 1 /f >nul 2>nul
  46. set /p shum=请粘入书名-----》别带空格等标点符号-----》
  47. set /p zhuoz=请粘入作者----》作者辛苦千万字,你就尊重一下-----》
  48. set /p html=请粘入目录页地址-----》
  49. echo %html%|find /i "htm"&&color 1e||set html=%html%index.html
  50. echo %shum%^|%zhuoz%^|%html%>name.ini
  51. echo 下载首页提取链接(主体代码参考namejm易读网下载器)
  52. for %%a in ("%html%") do curl --create-dirs -o "index.html" "%html%"
  53. type index.html|find /i "charset=UTF-8"&&cls&&echo      此网页为UTF-8类型,处理后为乱码,因此不处理。&&echo.&&goto cc
  54. htox32c /IP /O0 /U1+4 index.html
  55. echo 提取网页前端(来自apang)
  56. for /f "delims=" %%c in ("\%html://=/ /%") do (
  57.     set mm=%%~nc
  58.     set "s=%%~pc"
  59.     set "s=!s:\=/!"
  60.     set "s=!s:/ /=//!"
  61.     set "s=!s:~1!"
  62.     )
  63. rem 整理链接(引自论坛)
  64. rem 去空
  65. for /f "delims=" %%i in (index.txt) do (
  66.     set "foo=%%i"
  67.     set foo=!foo: =!
  68.     set foo=!foo: =!
  69.     set foo=!foo: =!
  70.     echo !foo!>>b.ini
  71. )
  72. rem ━━━━━━━━━提取一行多链接(for还是很牛的)
  73. for /f "tokens=1,2,3,4,5,6,7,8,9* delims=^>" %%i in (b.ini) do (
  74.   echo %%i>>c.ini
  75.   echo %%j>>c.ini
  76.   echo %%k>>c.ini
  77.   echo %%l>>c.ini
  78.   echo %%m>>c.ini
  79.   echo %%n>>c.ini
  80.   echo %%o>>c.ini
  81.   echo %%p>>c.ini
  82.   echo %%q>>c.ini
  83. )
  84. rem ━━━━━━━━━快速整理,丢弃垃圾。
  85. for %%A in (c.ini) do (
  86.    (
  87.    findstr /v "处于关闭状态" "%%A"
  88.    )> #tmp# && move #tmp# %%A>nul
  89.    )
  90. rem ━━━━━━━━━制作test.ini文件
  91. for /f "delims=^<^>' tokens=1,2," %%i in (c.ini) do (
  92.    echo %%j|find /i "htm"&&echo %%i^|%%j>>#tem#
  93. )
  94. for /f "delims=| tokens=1,2," %%i in (#tem#) do (
  95.    echo %%j|find /i "http"&&echo %%i^|%%j>>test.ini || echo %%i^|!s!%%j>>test.ini
  96. )
  97. del /q #tem#
  98. del index.*t*
  99. copy test.ini test2.ini
  100. rem test.ini 是下载用链接,test2.ini是合并用。name.ini是基本信息,这3文件是选择功能2的基础。
  101. goto jixu
  102. :jiu
  103. color 1e
  104. test.ini
  105. echo 输入前先编辑test.ini 删除已经下载的链接,会从没下载的地址开始
  106. for /f "delims=| tokens=1,2,3" %%i in (name.ini) do (
  107.     set shum=%%~i
  108.     set zhuoz=%%~j
  109.     set html=%%~k
  110. )
  111. :jixu
  112. title 网页小说 %shum%(HTML to TXT)----下载网页
  113. rem 整合链接与下载
  114.   set m=0
  115.   for /f "delims=| tokens=1,2," %%i in (test.ini) do (
  116.   set /a m+=1
  117.   echo ━━━━━━━━━ ━━━━━━━━━ ━━━━━━━━━
  118.   echo 正在下载《%shum%》第!m!个网页 %%~nxj
  119.   rem  先下全网址后下补网址
  120.   curl --create-dirs -o "%%~nxj" "%%j" ||echo %%j>>未下载.ini
  121.   htox32c /IP /O0 %%~nxj&&del %%~nxj>nul 2>nul
  122.   )
  123. rem 不同网站有不同的多余文件,去除之。
  124. del art*&del *-1.txt&del book*.txt
  125. cls
  126. echo @echo off>单个网页下载.bat
  127. echo cls>>单个网页下载.bat
  128. echo echo 网页地址>>单个网页下载.bat
  129. echo set ^/p html^=>>单个网页下载.bat
  130. echo for %%%%a in ("%%html%%") do curl --create-dirs -o "%%%%~nxa" "%%html%%"^&^&htox32c /IP /O0 %%%%~nxa^&^&del %%%%~nxa>>单个网页下载.bat
  131. echo %%0>>单个网页下载.bat
  132. if exist 未下载.ini echo 关闭本窗口整理就继续。以上链接是没有成功下载的,需组合好后用“单个网页下载.bat”一一补齐。否则文章会缺少内容。要是太多咋办--》关闭软件复制进test.ini里,就不需要一个个下载。当然最好是能人为确认网页是否能打开。>>未下载.ini&&未下载.ini
  133. color 4e
  134. title 网页小说 %shum%(HTML to TXT)----文章整合
  135. md 原始文档可留可删 2>nul
  136. rem 避免小数字引起的排序错乱
  137. for /f %%p in ('dir /b/on *.txt') do set /a q+=1
  138. for /l %%h in (1,1,!q!) do (
  139.    set /a s=10000+%%h
  140.    ren %%h.txt !s!.txt>nul 2>nul
  141.    )
  142. md %date:~0,4%整理网文 2>nul
  143. echo 合并 %shum%
  144. echo %shum%>%date:~0,4%整理网文\%shum%.txt
  145. echo 作者:%zhuoz%>>%date:~0,4%整理网文\%shum%.txt
  146. echo 来源:%html%>>%date:~0,4%整理网文\%shum%.txt
  147. for /f %%g in ('dir /b/on *.txt') do (
  148.      for /f "delims=| tokens=1,2," %%i in (test2.ini) do (
  149.        if %%~nj==%%~ng echo %shum%━━━━━%%i>>%date:~0,4%整理网文\%shum%.txt
  150.     )
  151.     findstr /ibc:"    " "%%g" >>%date:~0,4%整理网文\%shum%.txt
  152.     findstr /ibc:"  " "%%g" >>%date:~0,4%整理网文\%shum%.txt
  153. )
  154. move *.txt 原始文档可留可删\>nul
  155. del *.ini>nul
  156. del 单个网页下载.bat>nul
  157. cls
  158. echo    下载的网页文件保存在“原始文档可留可删”内,选择1后会删除。&&echo.
  159. goto cc
  160. :help
  161. echo 已知支持>help.htm
  162. echo ^<p^>其实仔细观察会发现这些地址就是前面的不变动,而后面的在首页里能提取。前后结合可以组成网文地址。>>help.htm
  163. echo ^<p^>以此类推,凡符合这规律的阅读网站都是可以下载的。UTF-8编码的网站本来也可处理,太累就没做,所以屏蔽了。以下网站也够看了。>>help.htm
  164. echo ^<p^>^<A href=^"http://www.yi-see.com^" target=^"_blank^"^>《易读网》^<^/A^>>>help.htm
  165. echo ^<p^>^<A href=^"http://www.9laidu.com^" target=^"_blank^"^>《就来读》^<^/A^>>>help.htm
  166. echo ^<p^>^<A href=^"http://www.quanben.com^" target=^"_blank^"^>《全本小说网》^<^/A^>已发现有的虽有链接,的确打不开>>help.htm
  167. echo ^<p^>^<A href=^"http://www.pp122.com/^" target=^"_blank^"^>《泡泡小说网》^<^/A^>>>help.htm
  168. echo ^<p^>^<A href=^"http://yanqing888.net^" target=^"_blank^"^>《言情888》^<^/A^>>>help.htm
  169. echo ^<p^>^<A href=^"http://www.abcsee.net/^" target=^"_blank^"^>《北辰文学网》^<^/A^>这个地址的链接是几个在一行上>>help.htm
  170. echo ^<p^>测试通过,如有例外,见谅。>>help.htm
  171. help.htm
  172. cls
  173. goto cc
复制代码
还有相关配套使用软件,因此打包。
下载地址:http://url.cn/PzROT1
1

评分人数

目的,学习批处理

本帖最后由 hlzj88 于 2014-7-1 20:01 编辑

顺便贴中医中药网图片下载并重命名bat,使用配套软件如上打包。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. rem 环境清理
  4. del *.txt&del *.ini&del *.jpg&del *.html
  5. cls
  6. echo 中医中药网图片下载
  7. echo 需一次执行完毕
  8. pause
  9. rem 下网页并转换
  10. for /l %%i in (1,1,63) do (
  11.   set pp=http://www.zhong-yao.net/Photo/List_144_%%i.html
  12.   ping /n 3 127.1>nul
  13.   echo 下载 !pp!
  14.   for %%a in ("!pp!") do curl --create-dirs -o "%%~nxa" "!pp!"&&ren *.html *.txt
  15.   )
  16. rem 提关键词
  17. for /f "delims=" %%g in ('dir /b/on "*.txt"') do (
  18.     findstr /ibc:"更新时间" "%%g" >>2.ini
  19. )
  20. echo 整理链接和下载重命名
  21. md 整理后
  22. for /f "tokens=1,2,3,4,5,6,7,8,9* delims='^>^<" %%i in (2.ini) do (
  23.   ren *.jpg %%j.jpg
  24.   move /y *.jpg 整理后\
  25.   echo %%m|find /i "http"&&curl --create-dirs -o "%%~nxm" "%%m" || curl --create-dirs -o "%%~nxm" "http://www.zhong-yao.net%%m"
  26. )
  27. del 2.ini
  28. echo 没活了,休息。
  29. del *.txt
  30. pause
复制代码
1

评分人数

目的,学习批处理

TOP

那个连接一过期了,下载不了工具

TOP

返回列表