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

保存为 Test.JS,双击运行
  1. var fso = new ActiveXObject('Scripting.FileSystemObject');
  2. var http = new ActiveXObject('Microsoft.XMLHTTP');
  3. //var map = {'首页':'word','优质造句':'wordy','小学生造句':'wordx','中学生造句':'wordz','成语造句':'wordcy','关联词造句':'glc','名言佳句':'wordmj','短信句子':'dx'};
  4. var map = {'网络词语造句':'wordw', '短信句子':'dx'};
  5. var home = 'http://zaojv.com/';
  6. for (var key in map) {
  7.     var url = home + map[key] + '.html';
  8.     var reg = /style="color: #256EB1;" href="\/(.+?\.html)"/g;
  9.     try {
  10.         while(url != '') {
  11.             var txt = getText(url);
  12.             var m = txt.match(/href="(.*\.html)">下一页/);
  13.             url = m ? home + m[1] : '';
  14.             while(arr=reg.exec(txt)) getSentence(home + arr[1]);
  15.         }
  16.     } catch(e){}
  17. }
  18. function getText(url) {
  19.     http.open('GET', url, false);
  20.     http.send();
  21.     with(new ActiveXObject('ADODB.Stream')){
  22.         Mode = 3; Type = 1;
  23.         Open();
  24.         Write(http.responseBody);
  25.         Position = 0;
  26.         Type = 2;
  27.         Charset = 'utf-8';
  28.         var s = ReadText(-1);
  29.     }
  30.     return s;
  31. }
  32. function getSentence(url) {
  33.     while(url != '') {
  34.         var stc = [];
  35.         var s = getText(url);
  36.         var m = s.match(/href="(.*\.html)">下一页/);
  37.         if (key == '短信句子') {
  38.             var r = /erweima\('(.+?)'/g;
  39.             url = m ? home + 'type/' + m[1] : '';
  40.         } else {
  41.             s = s.split(/<div id="all"|<!--all结束-->/)[1];
  42.             var r = /<div>(.+?)<\/div>/g;
  43.             url = m ? home + m[1] : '';
  44.         }
  45.         while(a=r.exec(s)) {
  46.             stc.push(a[1].replace(/<[^>]*>(&nbsp;)?/g, ''));
  47.         }
  48.         writeToFile(stc.join('\r\n'));
  49.     }
  50. }
  51. function writeToFile(s) {
  52.     var objFile = fso.OpenTextFile(key + '.Log', 8, true);
  53.     objFile.WriteLine(s);
  54.     objFile.Close();
  55. }
  56. WSH.Echo('Done')
复制代码
getSentence(txt, url) 参数 txt 是多余的,去掉。
1

评分人数

    • lxh623: 谢谢!!!技术 + 1

TOP

回复 6# lxh623


    已修改
权限的问题是 fso 打开文件后没关闭。
首页 900 多页,你不嫌慢就自己加上。

TOP

本帖最后由 WHY 于 2018-9-16 00:57 编辑

回复 9# Batcher


    楼主赞助论坛是楼主对论坛的心意,赞助的款项我不能拿的。
楼主也私信我了,付不付费给我,我都不会责怪他的。

楼主今天已付费,谢谢!

TOP

回复 11# lxh623
  1. var fso = new ActiveXObject('Scripting.FileSystemObject');
  2. var http = new ActiveXObject('Microsoft.XMLHTTP');
  3. //var map = {'首页':'word','优质造句':'wordy','小学生造句':'wordx','中学生造句':'wordz','成语造句':'wordcy','关联词造句':'glc','名言佳句':'wordmj','短信句子':'dx'};
  4. var map = {'网络词语造句':'wordw', '短信句子':'dx'};
  5. var home = 'http://zaojv.com/';
  6. for (var key in map) {
  7.     var url = home + map[key] + '.html';
  8.     var reg = /style="color: #256EB1;" href="\/([^"]*\.html)" target="_blank">([^<]*?)<\/a>/g;
  9.     while(url != '') {
  10.         var txt = getText(url);
  11.         var m = txt.match(/href="(.*\.html)">下一页/);
  12.         url = m ? home + m[1] : '';
  13.         while(arr=reg.exec(txt)) {
  14.             getSentence(home + arr[1], arr[2]);
  15.         }
  16.     }
  17. }
  18. function getText(url) {
  19.     http.open('GET', url, false);
  20.     http.send();
  21.     with(new ActiveXObject('ADODB.Stream')){
  22.         Mode = 3; Type = 1;
  23.         Open();
  24.         Write(http.responseBody);
  25.         Position = 0;
  26.         Type = 2;
  27.         Charset = 'utf-8';
  28.         var s = ReadText(-1);
  29.     }
  30.     return s;
  31. }
  32. function getSentence(url, keyWord) {
  33.     var stc = [];
  34.     while(url != '') {
  35.         var s = getText(url);
  36.         var m = s.match(/href="(.*\.html)">下一页/);
  37.         if (key == '短信句子') {
  38.             var r = /erweima\('(.+?)'/g;
  39.             url = m ? home + 'type/' + m[1] : '';
  40.         } else {
  41.             s = s.split(/<div id="all"|<!--all结束-->/)[1];
  42.             var r = /<div>(.+?)<\/div>/g;
  43.             url = m ? home + m[1] : '';
  44.         }
  45.         while(a=r.exec(s)) {
  46.             stc.push(a[1].replace(/<[^>]*>(&nbsp;)?/g, ''));
  47.         }
  48.     }
  49.     writeToFile('A' + keyWord + '\r\n' + stc.join('\r\n'));
  50. }
  51. function writeToFile(str) {
  52.     var objFile = fso.OpenTextFile(key + '.Log', 8, true);
  53.     objFile.WriteLine(str);
  54.     objFile.Close();
  55. }
  56. WSH.Echo('Done')
复制代码
1

评分人数

TOP

返回列表