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

[其他] [已解决]批处理如何检测网站的指定网页是否存在?

本帖最后由 pcl_test 于 2016-9-8 19:46 编辑

哥们好,最近本人在管理公司网站的时候偶尔发现有些网页不存在,但是 我想知道到底有哪些网页是不存在,哪些是存在的。所以我想来请教下各位。首先我说下网址的规则先吧。

网站的网址是这样的形式的
  www.a.com/2011/(数字).html        (数字)就是从1开始   大概50000 为结束     注:这个数字不是固定的,有些可能几万。有些可能是几千。

现在我想通过批处理自动从www.a.com/2011/1.html    到 www.a.com/2011/50000.html  一个一个地检查 , 如果检查到某个网页标题出现:
<title>网页不存在!</title>    时,则把这个完整的网址输出到一个文本no.txt   (这代表这个网页不存在了。)
   如果网页标题<title></title> 出现其他的文字,则把这个完整的网址输出到一个文本yes.txt(这代表这个网页是存在的。)



小弟先在此先谢了。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
谦虚是持续成功的保证..
www.13168.org

  1. @echo off
  2. more +10 "%~f0" >GetUrlText.vbs
  3. type nul >no.txt
  4. type nul >yes.txt
  5. for /l %%a in (1,1,50000) do (
  6.     echo 正在检测:www.a.com/2011/%%a.html
  7.     cscript //nologo GetUrlText.vbs http://www.a.com/2011/%%a.html | findstr "<title>网页不存在!</title>" && echo www.a.com/2011/%%a.html >>no.txt || echo www.a.com/2011/%%a.html >>yes.txt
  8. )
  9. goto :eof
  10. strURL=WScript.Arguments(0)
  11. WScript.Echo strURL
  12. Set objXmlHttp = CreateObject("Microsoft.XMLHTTP")
  13. objXmlHttp.Open "GET",strURL,0
  14. objXmlHttp.Send()
  15. Set objStream = CreateObject("ADODB.Stream")
  16. objStream.Mode = 3
  17. objStream.Type = 1
  18. objStream.Open()
  19. objStream.Write(objXmlHttp.responsebody)
  20. objStream.Position = 0
  21. objStream.Type = 2
  22. objStream.Charset = "utf-8"
  23. strText = objStream.Readtext
  24. WScript.Echo strText
复制代码
1

评分人数

    • ik22: 乐于助人技术 + 1
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  这些网页文件都是存放在你们公司本地的机器上,还是在托管主机上?也就是说,是需要通过访问网页文件来获得网页还是可以直接搜索机器上的文件?另外,你还得把原始的网页文件上传一两个到论坛,别人需要分析网页源码才能找到合适的办法。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

返回列表