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

[网络连接] [已解决]批处理如何批量下载百度搜索结果中的每条链接指向的网页?

[复制链接]
发表于 2015-6-15 02:12:07 | 显示全部楼层
回复 15# lxh623


    有几个文件没有下载可能与网络有关,也可能代码有缺陷,具体不清楚。

如果仅仅是html转换成txt,可以这样:
PS: HtoX32c 对文件名长度有限制,如果文件名过长直接退出。刚开始转换一直不成功,找好久才发现这个问题。
  1. @set @n=0;/* & echo off
  2. pushd HTML\
  3. dir /b *.html *.aspx|cscript -nologo -e:jscript "%~0"
  4. "%~dp0HtoX32c" /IP /O0 *.$
  5. del *.$
  6. pause & exit/b & rem */

  7. var fso = new ActiveXObject("Scripting.FileSystemObject");
  8. while(!WScript.StdIn.AtEndOfStream){SaveFile(WScript.StdIn.ReadLine())}

  9. function SaveFile(file){
  10.         var i = 0;
  11.         with(new ActiveXObject("ADODB.Stream")){
  12.                 Mode = 3;
  13.                 Type = 2;
  14.                 CharSet = "UTF-8";
  15.                 Open();
  16.                 LoadFromFile(file);
  17.                 var txt =  ReadText().replace(/[\s\S]+>正文内容<.*\n/, "").split(">标签:<")[0];
  18.                 txt = txt.replace(/&[a-z]+;/g, "");
  19.                 var name = txt.match(/<h1>(.+?)<\/h1>/i)[1];
  20.                 name = name.replace(/[\/\|\\:"<>\?\*]/g, "").replace(/(.{128}).*/, "$1");
  21.                 var newname = name;
  22.                 while(fso.FileExists(newname + ".$")){
  23.                         i++;
  24.                         newname = name + "[" + i + "]";
  25.                 }
  26.                 Position = 0;
  27.                 CharSet = "GBK";
  28.                 WriteText(txt);
  29.                 SetEOS;
  30.                 SaveToFile(newname + ".$");
  31.         }
  32. }
复制代码

评分

参与人数 1技术 +1 收起 理由
lxh623 + 1 谢谢!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 03:26 , Processed in 0.024647 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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