找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 76054|回复: 24

[其他] [已解决]求助:批处理读取网页内容,不另存文本

[复制链接]
发表于 2015-9-14 11:15:10 | 显示全部楼层 |阅读模式
本帖最后由 x405526391 于 2015-9-14 15:49 编辑

我是一个新手,刚接触批处理,今天想尝试下直接读取某个或多个有规律的网址里的内容,并直接显示在批处理运行的页面,运行完毕后不关闭批处理面板。

网址类型可能如下:
http://www.xx.com/1.html
http://www.xx.com/2.html
http://www.xx.com/3.html

网页里如果有图片则不显示,请各位大侠帮帮忙。

在论坛里翻看的时候都是看到读取网页里固定的内容存在一个文件里,内容太多,实在理解不了,干脆把各步骤功能分解下学习,多谢各位了~~

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2015-9-14 11:29:01 | 显示全部楼层
第三方 curl
  1. curl http://www.bathome.net/
复制代码
 楼主| 发表于 2015-9-14 11:38:00 | 显示全部楼层
第三方 curl
pcl_test 发表于 2015-9-14 11:29



    能否不使用第三方?仅批处理
发表于 2015-9-14 12:37:54 | 显示全部楼层
本帖最后由 pcl_test 于 2015-9-14 12:41 编辑
  1. //&cls&echo off&mshta "%~f0"|find /v ""&pause & exit /b

  2. <script src=http://www.bathome.net/lib/diy/iconv.js></script>
  3. <script>
  4. var url = "http://www.bathome.net";
  5. var fso = new ActiveXObject('Scripting.Filesystemobject');
  6. var http = new ActiveXObject('Msxml2.XMLHTTP');
  7. http.open('GET', url, false);
  8. http.send();
  9. var HtmlText = iconv.toStr(http.ResponseBody,'gb2312');
  10. fso.GetStandardStream(1).Write(HtmlText);
  11. close();
  12. </script>
复制代码
 楼主| 发表于 2015-9-14 13:40:54 | 显示全部楼层
pcl_test 发表于 2015-9-14 12:37



    额。。。这个  是批处理么。。。。
发表于 2015-9-14 13:42:34 | 显示全部楼层
回复 5# x405526391

bat+js,纯批不能直接读取网页
 楼主| 发表于 2015-9-14 13:47:28 | 显示全部楼层
回复  x405526391

bat+js,纯批不能直接读取网页
pcl_test 发表于 2015-9-14 13:42

  1. @echo off
  2. set n=0
  3. :abc
  4. set /a n+=1
  5. set link=http://www.xx.cn/third/count?from=%n%
  6. Start iexplore "%link%"
  7. ::ping -n 0 127.1>nul 2>nul
  8. taskkill /f /im IEXPLORE.exe 1>nul 2>nul

  9. set count=
  10. set type=%n%

  11. echo 注册人数:%count%    渠道号:%type%
  12. echo %DATE% %time%

  13. if %n%==10 pause
  14. if %n%==11 exit
  15. goto abc

  16. cmd
复制代码
我写成这样了以后。。该怎么应用呢?
发表于 2015-9-14 13:53:02 | 显示全部楼层
回复 7# x405526391

不知道你要干嘛,也不是实际可测试的网址
 楼主| 发表于 2015-9-14 13:56:25 | 显示全部楼层
回复 8# pcl_test


    就是 这个网址打开以后是个纯数字,但是有若干个网址 每个网址对应一个渠道号(%n%) 我希望能把数字对应渠道号直接显示在bat里。
发表于 2015-9-14 14:15:51 | 显示全部楼层
回复 9# x405526391

打开网址显示的内容是什么?图呢?网址与渠道号的对应关系又是什么?也不发实际的测试网址,表示无能为力
 楼主| 发表于 2015-9-14 14:18:45 | 显示全部楼层
回复 10# pcl_test


    额,我经验不丰富,现在补上。

网址最后的数字就是渠道号,打开网址只有一个数字,数字就是注册量。
发表于 2015-9-14 14:29:49 | 显示全部楼层
回复 11# x405526391
用4楼的代码能获取到注册量吗?
 楼主| 发表于 2015-9-14 14:34:39 | 显示全部楼层
回复 12# pcl_test


    可以,但不知道怎么让它批量显示出来。。
发表于 2015-9-14 14:50:51 | 显示全部楼层
回复 13# x405526391
  1. <!-- :
  2. @echo off
  3. :0
  4. set /a n+=1
  5. for /f "delims=" %%a in ('echo %n% ^| mshta "%~f0" 2^>nul') do set "注册人数=%%a"
  6. echo 注册人数:%注册人数%    渠道号:%n%
  7. echo %date% %time%
  8. ping -n 2 0 >nul
  9. if %n%==11 pause&exit /b
  10. goto :0
  11. -->

  12. <script src=http://www.bathome.net/lib/diy/iconv.js></script>
  13. <script>
  14. var fso = new ActiveXObject('Scripting.Filesystemobject');
  15. var http = new ActiveXObject('Msxml2.XMLHTTP');
  16. var n = fso.GetStandardStream(0).ReadLine();
  17. var url = 'http://www.xx.cn/third/count?from='+n;
  18. http.open('GET', url, false);
  19. http.send();
  20. var HtmlText = iconv.toStr(http.ResponseBody,'gb2312');
  21. fso.GetStandardStream(1).Write(HtmlText);
  22. close();
  23. </script>
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2015-9-14 15:17:26 | 显示全部楼层
回复  x405526391
pcl_test 发表于 2015-9-14 14:50



    哈哈哈哈哈哈哈 好用~~  多谢多谢,我再仔细学习下这段。
另外再多加一句,如果判断注册量为0就不显示,怎么操作?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 16:05 , Processed in 0.019054 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表