Board logo

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

作者: 447219071    时间: 2015-9-2 11:02     标题: [已解决]批处理获取网页内容并生成另一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>
作者: flyinnet9    时间: 2015-9-2 11:13

未知因素太多,上传一个网页文件
作者: flyinnet9    时间: 2015-9-2 14:46

让上传个网页,你拿之家的网页,我也是醉了。。。。。
自己的提议,含泪也要写完
  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
复制代码

作者: 447219071    时间: 2015-9-2 15:09

本帖最后由 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%">***********************
作者: pcl_test    时间: 2015-9-2 18:12

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

本帖最后由 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>
复制代码

作者: 447219071    时间: 2015-9-3 00:12

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

回复 7# 447219071
已修改
作者: 447219071    时间: 2015-9-3 09:45

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

回复 9# 447219071

不知所云
作者: 447219071    时间: 2015-9-3 11:44

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

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

回复 11# 447219071

fso.CreateTextFile('结果.txt',2).Write(txt.replace(/^\r+/mg,'').replace(/\r/g,'\r\n'));
作者: 447219071    时间: 2015-9-3 12:12

感激不尽,高手在民间
今天加不了分,明天给大侠加高分
作者: WHY    时间: 2015-9-3 13:00

  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])}
复制代码

作者: 447219071    时间: 2015-9-4 09:42

回复 12# pcl_test
昨天按照阁下的改正后,左边的电脑运行果然有效,运行正常,可今天用中间和右边的电脑来运行则出现以下错误,如下图
作者: 447219071    时间: 2015-9-4 09:58

回复 14# WHY


    没有响应的
作者: pcl_test    时间: 2015-9-4 10:57

回复 15# 447219071

批处理文件非gbk编码
作者: WHY    时间: 2015-9-4 12:58

回复 16# 447219071


    你提供的网址挂了?

搜一搜本论坛,下载、提取网页字符这种问题有很多类似的帖子,前提是你要懂得搜索,会修改代码。
针对不同的网站,下载、提取网页的方法可能也不尽相同。看你的意思是想要一个万能的通用的代码?趁早打消这念头。
作者: 447219071    时间: 2015-9-4 16:42

回复 18# WHY


    没挂,但可以下载网页




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2