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

[文件操作] [已解决]批处理获取网页内容并生成另一TXT文件

[i=s] 本帖最后由 447219071 于 2023-6-1 16:13 编辑 [/i]

如题:用批处理获取本网页中的"*之间的内容,有断行(提示:获取网页代码时HTML代码符如空格,断行等应该要生成后去掉),生成文本文件A.txt内容如下:
应楼下要求,如本网页:[url=http://bbs.bathome.net/thread-37147-1-1.html]http://bbs.bathome.net/thread-37147-1-1.html[/url]
我要获取其中的内容到新建的A.txt内容如下(两个************之间,空格与网页内容一致):
************
歌词  
他有 双冰冷眼睛 诱我入阱
当他开心时 人间就化为仙境
下秒上瘾了 但还得小心
因为死神只等他点头 就下命令
我怕太晚自拔 已经太爱他
但我装冷酷不在乎的那刹那
我失去了上天堂的期望 下地狱却没有他
That's how it is当你吵到精疲力尽
That's how it is 当你只在乎你自己
That's how it is 别忘你满虚言的行李 whoa
That's how it is 后悔来得太晚
明天 You're gone Cause that's how it is
Hey 我跳进游泳池里 我无法呼吸
不想喊救命因为他 总是发脾气
交响曲非凡旋律勾引著我
给我解脱给我复活 越来越沉溺
不想再这样束手无策得往下沉
我要 从水底爆发出来 我开窍了
发现了 我和他并不命中注定
这条分岔的路已走尽  Th
at's how it is当你吵到精疲力尽
That's how it is 当你只在乎你自己
That's how it is 别忘你满虚言的行李 whoa
That's how it is 后悔来得太晚
明天 You're gone Cause that's how it is
想到 当初的你 有点像风梨
棘手难贴近 心里好甜蜜
想到 后来我们变成一对陌生人
回味不甜 不想吃风梨again
That's how it is当你吵到精疲力尽
That's how it is 当你只在乎你自己
That's how it is 别忘你满虚言的行李 whoa
That's how it is 后悔来得太晚 明天 You're gone Cause that's how it is
<cpulink>
http://www.sejai.com/?2417
"http://hao.360.cn/?src=lm&ls=n4f12a8a094"
http://baidu.tao234.com/?0156
http://so.tao234.com/?0096
http://www.2345.com/?kq10000
<cpulink>

未知因素太多,上传一个网页文件

TOP

让上传个网页,你拿之家的网页,我也是醉了。。。。。
自己的提议,含泪也要写完
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set flag=
  4. for /f "tokens=1* delims=<" %%a in (1.html) do (
  5.   if !flag!==3 goto :eof
  6.   if "%%a" neq "************" if !flag!==2 echo %%a >>a.txt
  7.   echo %%a >%temp%\tmp
  8.   find "********" %temp%\tmp >nul && set /a flag+=1
  9. )
  10. del %temp%\tmp
复制代码
2

评分人数

TOP

本帖最后由 447219071 于 2015-9-2 15:21 编辑

回复 3# flyinnet9
因为不能上传非图片的附件,因此只能请阁下下载处理,谢谢
网页为:http://q10000.howbbs.com/posts/list/15681/540451.html
(能否让批处理生成过程更快)
截图的代码内容如下,删除不要的HTML代码,断行符换成真断行,空格代码换成空格,生成简洁的如网页所示的歌词TXT文件:
***********************
<br /> </font></b>
<br /> <b><font size=5 style="line-height:180%">歌词</font></b>&nbsp;
<br /> 他有&nbsp;双冰冷眼睛&nbsp;诱我入阱
<br /> 当他开心时&nbsp;人间就化为仙境
<br /> 下秒上瘾了&nbsp;但还得小心
<br /> 因为死神只等他点头&nbsp;就下命令
<br /> 我怕太晚自拔&nbsp;已经太爱他
<br /> 但我装冷酷不在乎的那刹那
<br /> 我失去了上天堂的期望&nbsp;下地狱却没有他
<br /> That's&nbsp;how&nbsp;it&nbsp;is当你吵到精疲力尽
<br /> That's&nbsp;how&nbsp;it&nbsp;is&nbsp;当你只在乎你自己
<br /> That's&nbsp;how&nbsp;it&nbsp;is&nbsp;别忘你满虚言的行李&nbsp;whoa
<br /> That's&nbsp;how&nbsp;it&nbsp;is&nbsp;后悔来得太晚
<br /> 明天&nbsp;You're&nbsp;gone&nbsp;Cause&nbsp;that's&nbsp;how&nbsp;it&nbsp;is
<br /> Hey&nbsp;我跳进游泳池里&nbsp;我无法呼吸
<br /> 不想喊救命因为他&nbsp;总是发脾气
<br /> 交响曲非凡旋律勾引著我
<br /> 给我解脱给我复活&nbsp;越来越沉溺
<br /> 不想再这样束手无策得往下沉
<br /> 我要&nbsp;从水底爆发出来&nbsp;我开窍了
<br /> 发现了&nbsp;我和他并不命中注定
<br /> 这条分岔的路已走尽&nbsp; Th
<br /> at's&nbsp;how&nbsp;it&nbsp;is当你吵到精疲力尽
<br /> That's&nbsp;how&nbsp;it&nbsp;is&nbsp;当你只在乎你自己
<br /> That's&nbsp;how&nbsp;it&nbsp;is&nbsp;别忘你满虚言的行李&nbsp;whoa
<br /> That's&nbsp;how&nbsp;it&nbsp;is&nbsp;后悔来得太晚
<br /> 明天&nbsp;You're&nbsp;gone&nbsp;Cause&nbsp;that's&nbsp;how&nbsp;it&nbsp;is
<br /> 想到&nbsp;当初的你&nbsp;有点像风梨
<br /> 棘手难贴近&nbsp;心里好甜蜜
<br /> 想到&nbsp;后来我们变成一对陌生人
<br /> 回味不甜&nbsp;不想吃风梨again
<br /> That's&nbsp;how&nbsp;it&nbsp;is当你吵到精疲力尽
<br /> That's&nbsp;how&nbsp;it&nbsp;is&nbsp;当你只在乎你自己
<br /> That's&nbsp;how&nbsp;it&nbsp;is&nbsp;别忘你满虚言的行李&nbsp;whoa
<br /> That's&nbsp;how&nbsp;it&nbsp;is&nbsp;后悔来得太晚&nbsp;明天&nbsp;You're&nbsp;gone&nbsp;Cause&nbsp;that's&nbsp;how&nbsp;it&nbsp;is
<br /> That's&nbsp;how&nbsp;it&nbsp;is
<br /> That's&nbsp;how&nbsp;it&nbsp;is
<br /> That's&nbsp;how&nbsp;it&nbsp;is
<br /> <b><font size=5 style="line-height:180%">***********************

TOP

本版规则
1、求助时,务必在顶楼一次性把问题交代清楚,建议给出完整有针对性的样本,样本过大可发网盘分享链接。勿发无意义的标题
2、使用 code 标记把代码部分括起来(单击回复框的 <> 按钮,复制粘贴代码进去),以便复制。问题解决后,请编辑顶楼帖子在标题前面注明[已解决]http://www.bathome.net/thread-3473-1-1.html
3、提问前先使用论坛搜索,相同或类似的问题就无需再发帖了

TOP

本帖最后由 pcl_test 于 2015-9-3 00:38 编辑
  1. <!-- :
  2. @echo off&mshta "%~f0"&pause&exit /b
  3. -->
  4. <script>
  5. var fso = new ActiveXObject("Scripting.FileSystemObject");
  6. //设置网址
  7. var url = "http://q10000.howbbs.com/posts/list/15681/540451.html";
  8. var http = new ActiveXObject("Msxml2.XMLHTTP");
  9. http.open("GET", url, false);
  10. http.send(null);
  11. var m = http.responseText.match(/\*{10,}[\s\S]+\*{10,}/m);
  12. var txt = m[0].replace(/\*+|<br\s*\/>\s*|<[^>]+>/g,'').replace(/&nbsp;/g,' ');
  13. fso.CreateTextFile('结果.txt',2).Write(txt.replace(/^[\r?\n]+/mg,''));
  14. close();
  15. </script>
复制代码
1

评分人数

    • 447219071: 高手啊,批处理还能这样组合技术 + 1

TOP

回复 6# pcl_test
不好意思,还有个小问题,生成的A.txt中
第一行和最后一行多个空白行
其他每行前面还多了个空格
怎么样删除这些这余的,万分感激!麻烦了!

TOP

回复 7# 447219071
已修改
1

评分人数

TOP

回复 8# pcl_test
我在后续处理这个新生成的A.txt文本文件时,发现里面的断行符(小黑框)并未真正起作用,它自动换行的样式变成一行一行,能否出来的结果按网页上复制粘贴那样,一行就是一行,没有断行符! 万分抱歉!谢谢!

TOP

回复 9# 447219071

不知所云

TOP

本帖最后由 447219071 于 2015-9-3 11:50 编辑

回复 10# pcl_test
就是生成的TXT文本并没真正像网页那样断行,用其它批处理在处理这个新生成的TXT文本,如运行第一行或第二行命令就出现未真正断行而不能操作的情况

TOP

回复 11# 447219071

fso.CreateTextFile('结果.txt',2).Write(txt.replace(/^\r+/mg,'').replace(/\r/g,'\r\n'));

TOP

感激不尽,高手在民间
今天加不了分,明天给大侠加高分

TOP

  1. 1>1/* :
  2. @echo off
  3. cscript //Nologo //E:jscript "%~0" > a.txt
  4. pause & exit/b
  5. */
  6. var url = 'http://q10000.howbbs.com/posts/list/15681/540451.html';
  7. var http = new ActiveXObject('MSXML2.XMLHTTP');
  8. http.open('GET', url, false);
  9. http.send();
  10. var str = http.responseText.replace(/&nbsp;/g, ' ').split(/\*{10}/)[1];
  11. var reg = /<br *\/> *(.+?)(?=<br *\/>)/g;
  12. while(arr = reg.exec(str)){WScript.Echo(arr[1])}
复制代码

TOP

回复 12# pcl_test
昨天按照阁下的改正后,左边的电脑运行果然有效,运行正常,可今天用中间和右边的电脑来运行则出现以下错误,如下图

TOP

返回列表