[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]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>

回复 18# WHY


    没挂,但可以下载网页

TOP

回复 16# 447219071


    你提供的网址挂了?

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

TOP

回复 15# 447219071

批处理文件非gbk编码

TOP

回复 14# WHY


    没有响应的

TOP

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

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

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

TOP

回复 11# 447219071

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

TOP

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

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

TOP

回复 9# 447219071

不知所云

TOP

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

TOP

回复 7# 447219071
已修改
1

评分人数

TOP

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

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

返回列表