还是那话,技术不行,就是还有点想法。因此挪用论坛多位高手的源码(谢谢啊)。做了这个网络小说整理bat,希望能痛快看书和收藏书。希望大家能喜欢。也欢迎高手们能对代码进行语句和思路上的精简。
能适合几个网站的在线阅读下载整理。应该能适合更多,没有找来测试。- @echo off
- mode con cols=82 lines=35
- copy 配套软件\*.dll "%windir%" /y >nul
- copy 配套软件\*.exe "%windir%\system32\" /y >nul
- setlocal enabledelayedexpansion
- :cc
- title 网络小说 N HTML to ONE TXT 工具
- color 0f
- echo 网络小说 N HTML to ONE TXT 工具
- echo ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━┓
- echo ┃ 目前支持网站 见帮助 H 2014年6月30日完工 ┃仰天┃
- echo ┃ 说 遵循网页规则 a 不支持UTF-8编码网页 ┃长啸┃
- echo ┃ 明 a 前面地址不变动,仅最后的有变动,可以下载。 ┗━━┫
- echo ┃ c 在目录页源文件里存在完整的网文地址的 可以下载。 ┃
- echo ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
- echo ┃ 功能 1 开始整理新小说(HTML to TXT) ┃
- echo ┃ 选项 2 继续整理前小说(HTML to TXT)假如前面不顺利,故事还是可以继续的 ┃
- echo ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
- echo ┃ 有时有的网页不能下载但能跳过,可以用单个网页下载.bat来下载补全 ┃
- echo ┃ 但有的就直接卡死不跳过,可以关闭本工具,删除temp.ini里已下了的网页地址┃
- echo ┃ 保存后运行本工具选2会从卡死继续下载,继续原来的进度,避免重复下载。 ┃
- echo ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
- echo ┃ 输入数字 1 or 2 选择功能 H 帮助 Q 退出 ┃
- echo ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
- echo 测试有限,如有误请谅解。
- echo 鸣谢:直接参考挪用修改bathome论坛多位高手代码,“namejm”“apang”等,不一一具名,非常感谢!!
- echo.
- SET Choice=
- SET /P Choice=请输入数字 1 or 2 选择功能 H 帮助 Q(退出)回车确定---》
- echo.
- IF NOT '%Choice%'=='' SET Choice=%Choice:~0,1%
- IF /I '%Choice%'=='1' GOTO xin
- IF /I '%Choice%'=='2' GOTO jiu
- IF /I '%Choice%'=='q' GOTO exit
- IF /I '%Choice%'=='h' GOTO help
- goto cc
- :xin
- del *.htm?>nul 2>nul
- del *.txt>nul 2>nul
- del *.ini>nul 2>nul
- del /q 原始文档可留可删\*.*>nul 2>nul
- color 1e
- title 网页小说(HTML to TXT)----新书准备
- echo 文本网页下载保存 支持键盘输入
- reg add HKCU\console /v LoadConIme /t REG_DWORD /d 1 /f >nul 2>nul
- set /p shum=请粘入书名-----》别带空格等标点符号-----》
- set /p zhuoz=请粘入作者----》作者辛苦千万字,你就尊重一下-----》
- set /p html=请粘入目录页地址-----》
- echo %html%|find /i "htm"&&color 1e||set html=%html%index.html
- echo %shum%^|%zhuoz%^|%html%>name.ini
- echo 下载首页提取链接(主体代码参考namejm易读网下载器)
- for %%a in ("%html%") do curl --create-dirs -o "index.html" "%html%"
- type index.html|find /i "charset=UTF-8"&&cls&&echo 此网页为UTF-8类型,处理后为乱码,因此不处理。&&echo.&&goto cc
- htox32c /IP /O0 /U1+4 index.html
-
- echo 提取网页前端(来自apang)
- for /f "delims=" %%c in ("\%html://=/ /%") do (
- set mm=%%~nc
- set "s=%%~pc"
- set "s=!s:\=/!"
- set "s=!s:/ /=//!"
- set "s=!s:~1!"
- )
-
- rem 整理链接(引自论坛)
- rem 去空
- for /f "delims=" %%i in (index.txt) do (
- set "foo=%%i"
- set foo=!foo: =!
- set foo=!foo: =!
- set foo=!foo: =!
- echo !foo!>>b.ini
- )
- rem ━━━━━━━━━提取一行多链接(for还是很牛的)
- for /f "tokens=1,2,3,4,5,6,7,8,9* delims=^>" %%i in (b.ini) do (
- echo %%i>>c.ini
- echo %%j>>c.ini
- echo %%k>>c.ini
- echo %%l>>c.ini
- echo %%m>>c.ini
- echo %%n>>c.ini
- echo %%o>>c.ini
- echo %%p>>c.ini
- echo %%q>>c.ini
- )
- rem ━━━━━━━━━快速整理,丢弃垃圾。
- for %%A in (c.ini) do (
- (
- findstr /v "处于关闭状态" "%%A"
- )> #tmp# && move #tmp# %%A>nul
- )
- rem ━━━━━━━━━制作test.ini文件
- for /f "delims=^<^>' tokens=1,2," %%i in (c.ini) do (
- echo %%j|find /i "htm"&&echo %%i^|%%j>>#tem#
- )
- for /f "delims=| tokens=1,2," %%i in (#tem#) do (
- echo %%j|find /i "http"&&echo %%i^|%%j>>test.ini || echo %%i^|!s!%%j>>test.ini
- )
- del /q #tem#
- del index.*t*
- copy test.ini test2.ini
- rem test.ini 是下载用链接,test2.ini是合并用。name.ini是基本信息,这3文件是选择功能2的基础。
- goto jixu
-
- :jiu
- color 1e
- test.ini
- echo 输入前先编辑test.ini 删除已经下载的链接,会从没下载的地址开始
- for /f "delims=| tokens=1,2,3" %%i in (name.ini) do (
- set shum=%%~i
- set zhuoz=%%~j
- set html=%%~k
- )
-
- :jixu
- title 网页小说 %shum%(HTML to TXT)----下载网页
- rem 整合链接与下载
- set m=0
- for /f "delims=| tokens=1,2," %%i in (test.ini) do (
- set /a m+=1
- echo ━━━━━━━━━ ━━━━━━━━━ ━━━━━━━━━
- echo 正在下载《%shum%》第!m!个网页 %%~nxj
- rem 先下全网址后下补网址
- curl --create-dirs -o "%%~nxj" "%%j" ||echo %%j>>未下载.ini
- htox32c /IP /O0 %%~nxj&&del %%~nxj>nul 2>nul
- )
- rem 不同网站有不同的多余文件,去除之。
- del art*&del *-1.txt&del book*.txt
- cls
-
- echo @echo off>单个网页下载.bat
- echo cls>>单个网页下载.bat
- echo echo 网页地址>>单个网页下载.bat
- echo set ^/p html^=>>单个网页下载.bat
- echo for %%%%a in ("%%html%%") do curl --create-dirs -o "%%%%~nxa" "%%html%%"^&^&htox32c /IP /O0 %%%%~nxa^&^&del %%%%~nxa>>单个网页下载.bat
- echo %%0>>单个网页下载.bat
- if exist 未下载.ini echo 关闭本窗口整理就继续。以上链接是没有成功下载的,需组合好后用“单个网页下载.bat”一一补齐。否则文章会缺少内容。要是太多咋办--》关闭软件复制进test.ini里,就不需要一个个下载。当然最好是能人为确认网页是否能打开。>>未下载.ini&&未下载.ini
-
- color 4e
- title 网页小说 %shum%(HTML to TXT)----文章整合
- md 原始文档可留可删 2>nul
- rem 避免小数字引起的排序错乱
- for /f %%p in ('dir /b/on *.txt') do set /a q+=1
- for /l %%h in (1,1,!q!) do (
- set /a s=10000+%%h
- ren %%h.txt !s!.txt>nul 2>nul
- )
-
- md %date:~0,4%整理网文 2>nul
- echo 合并 %shum%
- echo %shum%>%date:~0,4%整理网文\%shum%.txt
- echo 作者:%zhuoz%>>%date:~0,4%整理网文\%shum%.txt
- echo 来源:%html%>>%date:~0,4%整理网文\%shum%.txt
- for /f %%g in ('dir /b/on *.txt') do (
- for /f "delims=| tokens=1,2," %%i in (test2.ini) do (
- if %%~nj==%%~ng echo %shum%━━━━━%%i>>%date:~0,4%整理网文\%shum%.txt
- )
- findstr /ibc:" " "%%g" >>%date:~0,4%整理网文\%shum%.txt
- findstr /ibc:" " "%%g" >>%date:~0,4%整理网文\%shum%.txt
- )
-
-
- move *.txt 原始文档可留可删\>nul
- del *.ini>nul
- del 单个网页下载.bat>nul
- cls
- echo 下载的网页文件保存在“原始文档可留可删”内,选择1后会删除。&&echo.
- goto cc
-
- :help
- echo 已知支持>help.htm
- echo ^<p^>其实仔细观察会发现这些地址就是前面的不变动,而后面的在首页里能提取。前后结合可以组成网文地址。>>help.htm
- echo ^<p^>以此类推,凡符合这规律的阅读网站都是可以下载的。UTF-8编码的网站本来也可处理,太累就没做,所以屏蔽了。以下网站也够看了。>>help.htm
- echo ^<p^>^<A href=^"http://www.yi-see.com^" target=^"_blank^"^>《易读网》^<^/A^>>>help.htm
- echo ^<p^>^<A href=^"http://www.9laidu.com^" target=^"_blank^"^>《就来读》^<^/A^>>>help.htm
- echo ^<p^>^<A href=^"http://www.quanben.com^" target=^"_blank^"^>《全本小说网》^<^/A^>已发现有的虽有链接,的确打不开>>help.htm
- echo ^<p^>^<A href=^"http://www.pp122.com/^" target=^"_blank^"^>《泡泡小说网》^<^/A^>>>help.htm
- echo ^<p^>^<A href=^"http://yanqing888.net^" target=^"_blank^"^>《言情888》^<^/A^>>>help.htm
- echo ^<p^>^<A href=^"http://www.abcsee.net/^" target=^"_blank^"^>《北辰文学网》^<^/A^>这个地址的链接是几个在一行上>>help.htm
- echo ^<p^>测试通过,如有例外,见谅。>>help.htm
- help.htm
- cls
- goto cc
复制代码 还有相关配套使用软件,因此打包。
下载地址:http://url.cn/PzROT1 |